Django makemigrations app order

时间:2015-09-19 09:06:15

标签: django django-migrations

我正在使用Django 1.8.4。由于我的项目仍在构建中,我经常删除所有迁移脚本,并重新运行makemigrations以生成初始迁移脚本。
我发现makemigrations会为我的某个应用生成两个迁移脚本,而其他应用只有0001_initial.py。它会是这样的:

- 0001_initial.py
- 0002_auto_20150919_1645.py

我检查了0002_auto_20150919_1645.py的内容,它正在从其他应用的模型中添加外来字段 我想这可能与为应用程序创建迁移的顺序有关。所以我删除了这个应用程序的这两个迁移脚本,然后再次运行makemigrations。现在我只有一个这个应用程序的迁移脚本。

我的问题是:     有什么方法可以控制订单makemigrations为应用创建迁移吗?

例如,我有两个应用,app1app2app1取决于app2。可以makemigrations首先为app2创建迁移,然后app1吗?

1 个答案:

答案 0 :(得分:1)

您可以手动为单个应用运行迁移。

./manage.py makemigrations app2
./manage.py makemigrations app1
./manage.py makemigrations # migrate the rest of your apps

您还可以squash现有的迁移。