Как правильно организовать сохранение состояния модели перед изменением?
Есть модель продукта, у которой множество всевозможных связей с другими моделями (1-M, M-M, M-1, 1-1).
Задача: перед изменением полей продукта, нужно сохранить текущие значения. После изменения должна быть возможность просмотреть изменения и откатиться к пред. состоянию.
У меня пока что есть две идеи:
1) Выносить в отдельную табл. только измененные поля в json формате
2) Полностью копировать модель в отдельную табл.
Но для меня главная сложность это связанные/промежуточные таблицы, так как их тоже придется дублировать...
Если у Вас есть идеи или материалы как все это организовать, прошу поделиться, заранее спасибо.
Все это дело работает на yii2, может там есть готовые инструменты для этого, которые я не смог отыскать?
Создайте дополнительное поле json и туда сохраняйте состояние текущих полей, версию или просто дату создания. При модификации добавляете в массив новые данные. При откате просто заменяете текущие данные на данные из версии. Но это такое себе решение)