Я установил приложение Docker Django/PostgreSQL, внимательно следуя инструкциям Django Quick Start на сайте Docker.
При первом запуске Django manage.py migrate, используя команду sudo docker-compose run web python manage.py migrate
, она работает так, как ожидалось. База данных встроена в контейнер Docker PostgreSQL просто отлично.
Изменения, внесенные в приложение Django, также отражаются в контейнере Docker Django, как только я их сохраню. Это здорово!
Но если я затем изменю модель в Django и попытаюсь обновить базу данных Postgres в соответствии с моделью, изменений не будет обнаружено, поэтому миграция не произойдет независимо от того, сколько раз я снова запускаю makemigrations
или migrate
.
В принципе, каждый раз, когда я меняю модель Django, я должен удалить контейнеры Docker (используя sudo docker-compose rm
) и начать заново с новой миграции.
Я все еще пытаюсь склонить голову к Docker, и там очень много я не понимаю, как это работает, но этот меня заводит. Почему миграция не просматривается в моих изменениях? Что я делаю неправильно?