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