ユーザーがレコードを編集し、それらのレコードの過去のバージョンを表示できるプロジェクトのアプローチを見つけようとしています。リストを使用した、簡単なスキーマの例を次に示します。
TABLE list (
id int auto_increment primary key,
user_id int,
title varchar(255)
);
TABLE list_tasks (
id int auto_increment primary key,
list_id int,
title varchar(255),
order int,
is_complete tinyint
);
したがって、ユーザーがリストにアクセスして、リストにいくつかの編集を加え(タスクの追加または削除、タスクの並べ替え、完了のマーク付け、名前の変更など)、保存します。この時点で、リストとタスクの「バージョン2」を生成し、以前のバージョンを表示できるようにしますが、リストにアクセスするときは常に最新バージョンを取得します。
MySQLデータベースでこのようにバージョン管理データを処理するための一般的なアプローチ/設計パターンはありますか?