Saya mencoba menemukan pendekatan untuk proyek, di mana Seorang pengguna dapat mengedit catatan, dan dapat melihat versi sebelumnya dari catatan tersebut. Berikut adalah skema contoh yang disimulasikan, menggunakan daftar:
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
);
Jadi pengguna dapat masuk, dan melakukan beberapa pengeditan pada daftar, (yaitu, menambah atau menghapus tugas, memesan ulang tugas, tandai beberapa selesai, ganti nama beberapa, dll.), Lalu simpan. Pada titik ini, saya ingin membuat 'versi 2' dari daftar dan tugas, dan membuatnya dapat melihat versi sebelumnya, tetapi ketika mereka mengakses daftar, selalu dapatkan versi terbaru.
Apakah ada pendekatan / pola desain umum untuk menangani data versi dengan cara ini di database MySQL?