Я намагаюся знайти підхід для проекту, де користувач може редагувати записи та мати можливість бачити минулі версії цих записів. Ось спрощена прикладна схема із використанням списку:
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?