title: Allowing user to rollback from db audit trail with SQLAlchemy
body: <p>I'm starting to use SQLAlchemy for a new project where I was planning to implement an audit trail similar to the one proposed on these questions:<sub></p>
  <ul>
  <li><a href="https://stackoverflow.com/questions/328898/implementing-audit-trail-for-objects-in-c">Implementing Audit Trail for Objects in C#?</a></li>
  <li><a href="https://stackoverflow.com/questions/315240/audit-trails-and-implementing-sox-hipaa-etc-best-practices-for-sensitive-data">Audit trails and implementing SOX/HIPAA/etc, best practices for sensitive data</a></li>
  <li><a href="https://stackoverflow.com/questions/1051449/ideas-on-database-design-for-capturing-audit-trails">Ideas on database design for capturing audit trails</a></li>
  <li><a href="https://stackoverflow.com/questions/60920/what-is-the-best-implementation-for-db-audit-trail">What is the best implementation for DB Audit Trail?</a></li>
  <li><a href="https://stackoverflow.com/questions/711597/is-this-the-best-approach-to-creating-an-audit-trail">Is this the best approach to creating an audit trail?</a></li>
  <li><a href="https://stackoverflow.com/questions/23770/good-strategy-for-leaving-an-audit-trail-change-history-for-db-applications">Effective strategy for leaving an audit trail/change history for DB applications?</a></li>
  <li><a href="https://stackoverflow.com/questions/15917/data-auditing-in-nhibernate-and-sqlserver">Data Auditing in NHibernate and SqlServer</a>.</sub></li>
  </ul>
  <p>As I will have the full history of the &quot;interesting&quot; objects, I was thinking in allowing users to rollback to a given version, giving them the possibility to have unlimited <code>undo</code>.</p>
  <p>Would this be possible to be done in a clean way with SQLAlchemy?</p>
  <p>What would be the <em>correct</em> way to expose this feature in the internal API (business logic and ORM)?</p>
  <p>I was something along the ways of <code>user.rollback(ver=42)</code>.</p>