在我的项目中,为了重新创建迁移,我删除了所有的迁移文件,只保留了“initial.py“不变。之后,我删除了PostgreSQL数据库并执行了“makemigrations”命令。在某些应用程序中,它会生成多个迁移文件,例如“0001_initial.py”和“0002_initial.py”。这种行为是否正常?
9w11ddsr1#
是的,这很正常。有时候django会根据一些逻辑将迁移拆分为两个文件。你可以在官方文档中阅读它。从医生那里
The “initial migrations” for an app are the migrations that create the first version of that app’s tables. Usually an app will have one initial migration, but in some cases of complex model interdependencies it may have two or more.
确保在重新创建迁移时,使用以下命令删除所有迁移文件,然后运行makemigrations
makemigrations
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete find . -path "*/migrations/*.pyc" -delete
有关重置迁移的详细信息,请参阅此article
1条答案
按热度按时间9w11ddsr1#
是的,这很正常。有时候django会根据一些逻辑将迁移拆分为两个文件。你可以在官方文档中阅读它。
从医生那里
确保在重新创建迁移时,使用以下命令删除所有迁移文件,然后运行
makemigrations
有关重置迁移的详细信息,请参阅此article