Я разрабатываю небольшое веб-приложение, используя Django и Elasticbeanstalk. Я создал приложение EB с двумя средами (промежуточной и рабочей), создал экземпляр RDS и назначил его своим средам EB.
Для разработки я использую локальную базу данных, потому что развертывание на AWS занимает довольно много времени.
Однако у меня проблемы с миграцией. Поскольку я разрабатываю и тестирую локально каждые пару минут, у меня, как правило, разные миграции локально и в двух средах.
Поэтому, как только я развертываю текущую версию приложения в определенной среде, «manage.py migrate» в большинстве случаев терпит неудачу, потому что таблицы уже существуют или не существуют, даже если они должны (потому что другая среда уже создала таблицы).
Поэтому мне было интересно, как справиться с процессом миграции при использовании нескольких сред для разработки, подготовки и производства с некоторыми общими и некоторыми эксклюзивными экземплярами базы данных, которые могут не всегда отражать одну и ту же структуру?
Должен ли я исключать файлы миграции из репозитория кода и развертывания eb и запускать makemigrations & migrate после каждого развертывания? Не следует ли запускать миграции автоматически с помощью .ebextensions и применять все миграции вручную через один из экземпляров?
Каков рекомендуемый способ использования одного и того же приложения Django с разными экземплярами базы данных в разных средах?