Django мигрирует в новую базу данных, нужно ли применять миграции перед перемещением данных?

Мое приложение Django использует зашифрованную базу данных Amazon AWS RDS. Шифрование вызывает некоторые раздражения/сложности и стоит небольших дополнительных денег, поэтому я хотел бы отказаться от него.

Шифрование не может быть удалено, поэтому я создал новый экземпляр RDS с новой базой данных. Старая база данных также использует PostGres 12.8, в то время как новая использует 14.2.

Нужно ли мне применить миграции к новой базе данных, а затем перенести данные в таблицы, созданные миграциями? Или я могу просто использовать службу миграции данных, такую как AWS DMS или DBeaver, которая создаст таблицы за меня?

Я спрашиваю, потому что мне интересно, есть ли какие-нибудь сложные различия в том, как миграция обеспечивает базу данных по сравнению с тем, как это делает инструмент миграции данных, что может вызвать у меня проблемы в дальнейшем.

Django выполняет обычные SQL команды при применении миграций и сохраняет данные в таблице, чтобы помнить, какие миграции уже применялись. Вся необходимая информация содержится в самой базе данных, поэтому вы можете напрямую переносить данные в новую базу данных, не применяя перед этим миграции.

Вернуться на верх