私のタイトルがはっきりしないかもしれません。Subversionがファイルに対して行うように、wikiが行うように、データベーステーブルに対するある種のバージョン管理を探しています。
変更ログをトレースしたい。差分を逆に抽出して実行したい。(「svn merge -r 101:100」のように元に戻します)。履歴のインデックス検索が必要になる場合があります。
「アンドゥ エンジンのデザイン パターン」を読んだことがありますが、「パターン」に関するものです。車輪を再発明せずに再利用できるものはありますか?
編集: たとえば、銀行口座取引。テーブルで更新された列「残高」(およびその他) があります。ユーザーは 10 日後に間違いに気づき、他のトランザクションを変更せずに、特定のトランザクションをキャンセル/ロールバックしたいと思うでしょう。
アプリケーションレベルで優雅に行うにはどうすればよいですか?