We have an internal tool in my company which engineers use to review certain data (let's call them entries), leave comments, approve, reject, KIV them, etc.We are thinking of creating an audit trail of everything that happens on entries. We want to know "who did what to which entry and when". It seems like the most intuitive way to do this is to create new tables to store such actions and this also means quite a significant amount of code changes need to be made.Are there other ways to do audit trail? And what if we want to store the old data on top of the actions? It seems like creating tables to store historical data will take up a lot of space.