最佳答案
我已经紧跟 Django Docker 站点上的快速启动说明设置了一个 Docker Django/PostgreSQL 应用程序。
我第一次使用 sudo docker-compose run web python manage.py migrate
命令运行 Django 的 manage.py 迁移时,它的工作方式与预期的一样。数据库构建在 Docker PostgreSQL 容器中。
对 Django 应用程序本身所做的更改同样反映在 Docker Django 容器中,当我保存它们的时候。太棒了!
但是如果我在 Django 中更改模型,并尝试更新 Postgres 数据库以匹配模型,则不会检测到任何更改,因此无论我再次运行 makemigrations
或 migrate
多少次,都不会发生迁移。
基本上,每次更改 Django 模型时,都必须删除 Docker 容器(使用 sudo docker-compose rm
)并重新开始新的迁移。
我还在努力理清多克的思路我还有很多事不明白它是怎么运作的但这事快把我逼疯了。迁移为什么没有看到我的变化?我做错了什么?