Я пытаюсь найти подход для проекта, где пользователь может редактировать записи и иметь возможность видеть прошлые версии этих записей. Вот упрощенная схема примера с использованием списка:
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?