Я видел несколько вопросов по отслеживанию истории БД, но, похоже, не могу найти тот, который соответствует нашей ситуации. Нам нужно отследить историю нескольких таблиц, некоторые из которых являются связующими таблицами «многие ко многим». Например, у нас есть эта схема:
EntityA
id
name
EntityB
id
name
ABLink
A_id
B_id
Итак, отслеживание изменений в EntityA или EntityB кажется довольно простым. Мы можем сохранить таблицу журнала с теми же столбцами, а также с датой и пользователем. Но как насчет ссылок? Как мы поддерживаем набор ссылок, которые действительны для данной версии данных? Мы должны быть в состоянии воссоздать историю данных, показывающих изменения в хронологическом порядке. Поэтому, если ссылка добавлена или удалена, мы указываем это. И т.д.