我有一个充满数据的Postgres数据库。我对我的Django应用程序模型进行了一些更改。 mange.py makemigrations工作正常并创建了迁移文件。但manage.py migrate只执行一个文件。当我再次启动它时,它不执行其余的操作,就好像它们已经被应用一样。
我删除了未应用的迁移文件并执行了另一次迁移,但它表示未检测到任何更改。
如何在不丢失数据的情况下反映数据库模型的变化?
谢谢
答案 0 :(得分:0)
Django会跟踪它已经应用了哪些迁移,所以当你运行migrate
命令时,它只会执行Django认为缺少的迁移。
我删除了未应用的迁移文件并执行了另一次迁移,但它表示未检测到任何更改。
这是一个坏主意,它会使您的迁移不一致。
如果您想要回溯,而不是删除迁移,则执行此操作的正确方法是还原迁移。您可以使用相同的migrate
命令,并指定您希望数据库模型位于哪个迁移点。
检查此答案以获取有关还原迁移的详细信息; django revert last migration