title: Is there a best practice for maintaining history in a database?
body: <p>I don't do database work that often so this is totally unfamiliar territory for me.</p>
  
  <p>I have a table with a bunch of records that users can update. However, I now want to keep a history of their changes just in case they want to rollback. Rollback in this case is not the db rollback but more like revert changes two weeks later when they realized that they made a mistake. The distinction being that I can't have a transaction do the job.</p>
  
  <p>Is the current practice to use a separate table, or just a flag in the current table?</p>
  
  <p>It's a small database, 5 tables each with &lt; 6 columns, &lt; 1000 rows total.</p>