У меня есть система CMS, которая хранит данные в таких таблицах:
Entries Table
+----+-------+------+--------+--------+
| id | title | text | index1 | index2 |
+----+-------+------+--------+--------+
Entries META Table
+----+----------+-------+-------+
| id | entry_id | value | param |
+----+----------+-------+-------+
Files Table
+----+----------+----------+
| id | entry_id | filename |
+----+----------+----------+
Entries-to-Tags Table
+----+----------+--------+
| id | entry_id | tag_id |
+----+----------+--------+
Tags Table
+----+-----+
| id | tag |
+----+-----+
Я пытаюсь реализовать систему пересмотра, немного похожую на SO. Если бы я делал это только для Entries Table
, я планировал просто хранить копии всех изменений в этой таблице в отдельной таблице. Поскольку я должен сделать это как минимум для 4 таблиц (таблица TAGS не требует изменений), это совсем не похоже на элегантное решение.
Как бы вы, ребята, это сделали?
Обратите внимание, что метатаблицы смоделированы в EAV (значение-атрибута-объекта).
Заранее спасибо.