Имею реляционную базу данных MySQL. Требование состоит в том, чтобы заархивировать записи нескольких таблиц и связанные с ними записи, чтобы полностью удалить их из активной базы данных и заархивировать их для последующего доступа, если это необходимо. Веб-приложение построено на Rails BTW.
Есть ли способ, при котором любая вставка или обновление исходной базы данных отражается в архивной базе данных, а удаления в исходной базе данных не обновляются в архивной базе данных.
Таким образом, в архивной базе данных есть полные данные, как активные, так и заархивированные. А исходная база данных содержит только данные, доступные в режиме реального времени.
Или есть какое-то другое и эффективное решение. Почему, потому что, если бы мы использовали подход грубой силы, всякий раз, когда данные перемещались в заархивированную базу данных, все записи и их зависимые записи должны были быть идентифицированы и перемещены в заархивированную базу данных, а затем удалены соответствующие записи в исходной базе данных.
С фреймворком Rails удаление связанных и зависимых записей относительно просто, если зависимый: :destroy настроен правильно.