Затруднения при миграции / MakeMigrations
У меня есть приложение wagtail, которое развернуто в docker, но затем я получаю очень странную ошибку, ниже приведены шаги:
Шаг 1:
docker-compose run app /venv/bin/python manage.py makemigrations`
Migrations for 'locations':
bakerydemo/locations/migrations/0008_alter_locationoperatinghours_day.py
- Alter field day on locationoperatinghours`
Шаг 2:
docker-compose run app /venv/bin/python manage.py migrate locations
Operations to perform:
Apply all migrations: locations
Running migrations:
===> No migrations to apply. <=== HUH?
Your models in app(s): 'locations' have changes that are not yet reflected in a migration, and so won't be applied.
===> Run 'manage.py makemigrations' to make new migrations,
and then re-run 'manage.py migrate' to apply them. <=== DOUBLE HUH?
Есть ли специалисты по wagtail, django или docker, которые могут сказать мне, что здесь может происходить? В похожем вопросе относительно Heroku упоминалось выполнение миграций перед Heroku-izing, это то, что я пробовал здесь, но это создало ошибку в моем приложении locations после докеризации контейнера. Решение взято из https://github.com/wagtail/bakerydemo, и я добавил несколько настроек в приложение locations.
Вам необходимо создать свои файлы миграции локально и пересобрать образ с включенными в него новыми файлами миграции. Ваши файлы миграции являются таким же кодом, как и любой другой код в приложении, и должны быть включены в образ как часть процесса сборки образа.
Когда вы выполняете makemigrations
в первой команде, вы создаете новый контейнер, в котором создаются новые файлы миграции... но когда вы выполняете вторую команду, вы создаете еще один отдельный контейнер. Поскольку контейнер, созданный второй командой, является отдельным, он не будет содержать файлы, созданные первой командой - поэтому вы видите сообщение No migrations to apply из-за отсутствия новых файлов миграции.