title: Efficient database designs for auditing and history tracing purposes
body: <p>Auditing and traceability is important during web development to be able to know the changes has been made on specific entities or records and by which users to track back changes if needed.</p>
  
  <p>One of the ways I have used to do that is to audit data image by storing the before and after json of the modified entities and records.</p>
  
  <p>The other way is to create general audit trail table as following:
  <a href="https://i.stack.imgur.com/BNvuN.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/BNvuN.png" alt="Audit trail"></a></p>
  
  <p>I am curious about some other strategies to audit user actions in enterprise solutions?  </p>