Search code examples
c#javasql-serverdatabaseundo-redo

Is there any library/framework for undo/redo changes of rows in database?


May be my title is not clear. I am looking for some kind of version control on database tables, like subversion does on files, like wiki does.

I want to trace the changes log. I want to extract and run the diff in reverse. (undo like a "svn merge -r 101:100"). I may need a indexed search on the history.

I've read the "Design Pattern for Undo Engine", but it is related to "Patterns". Are there anything I could reuse without reinvent the wheel?

EDIT: For example, bank account transactions. I have column "balance"(and others) updated in table. a user will find a mistake by him 10 days later, and he will want to cancel/rollback the specific transaction, without changing others.

How can I do it gracefully in the application level?


Solution

  • Martin Fowler covers the topic in Patterns for things that change with time. Still patterns and not an actual framework but he shows example data and how to use it.