Как ссылаться всегда на актуальную версию записи в БД?

Я выбрал подход к реализации версионирования записей через составной первичный ключ (id int, version int). Однако это не только значительно изменило и усложнило логику запросов, увеличило и усложнило модели sqlalchemy, но и озадачило меня вопросом:

  • Как ссылаться всегда на актуальную версию? Предположим, что Запись в Table1(id=1, version=1) ссылается на запись в Table2(id=1, version=1), однако потом в Table2 добавилась запись (id=1, version=2) и запись в Table1(id=1, version=1) уже ссылается на неактуальную запись в Table2(id=1, version=1). Я подумал, что можно использовать триггер или событие алхимии, которое каждый раз обновляет внешний ключ в связанной таблице, но мне показалось, что это выглядит костыльно

Ответы (0 шт):