ฉันกำลังพยายามหาวิธีการสำหรับโครงการที่ผู้ใช้สามารถแก้ไขระเบียนและสามารถดูรุ่นที่ผ่านมาของระเบียนเหล่านั้น นี่คือสคีมาตัวอย่างที่มีการจำลองโดยใช้รายการ:
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 หรือไม่