Próbuję znaleźć podejście do projektu, w którym użytkownik może edytować rekordy i móc zobaczyć poprzednie wersje tych rekordów. Oto uproszczony przykładowy schemat z wykorzystaniem listy:
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
);
Tak więc użytkownik może wejść i dokonać kilku zmian na liście (tj. Dodać lub usunąć zadania, zmienić kolejność zadań, oznaczyć niektóre jako zakończone, zmienić nazwy niektórych itd.), A następnie zapisać je. W tym momencie chciałbym wygenerować „wersję 2” listy i zadań oraz umożliwić im przeglądanie poprzednich wersji, ale kiedy uzyskują dostęp do listy, zawsze otrzymują najnowszą wersję.
Czy istnieje wspólny wzorzec podejścia / projektowania do obsługi wersjonowania danych w ten sposób w bazie danych MySQL?