Sto cercando di trovare un approccio per un progetto, in cui un utente può modificare i record ed essere in grado di vedere le versioni precedenti di tali record. Ecco uno schema di esempio semplificato, usando un elenco:
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
);
Quindi un utente può entrare e apportare diverse modifiche all'elenco (ad esempio, aggiungere o rimuovere attività, riordinare attività, contrassegnarne alcune complete, rinominarne alcune, ecc.), Quindi salvarle. A questo punto, vorrei generare una "versione 2" dell'elenco e delle attività e far sì che possano visualizzare le versioni precedenti, ma quando accedono all'elenco ottengono sempre l'ultima versione.
Esiste un approccio / modello di progettazione comune per gestire i dati di versioning in questo modo in un database MySQL?