Django makemigrations 应用命令
Django makemigrations app order
我正在使用 Django 1.8.4。由于我的项目还在建设中,我经常删除所有迁移脚本,然后重新运行makemigrations
生成初始迁移脚本
我发现 makemigrations
会为我的一个应用程序生成两个迁移脚本,而其他应用程序只有 0001_initial.py
。它会是这样的:
- 0001_initial.py
- 0002_auto_20150919_1645.py
我检查了 0002_auto_20150919_1645.py
的内容,它正在从其他应用程序的模型中添加外部字段。
我想这可能与为应用程序创建迁移的顺序有关。所以我删除了这个应用程序的这两个迁移脚本,然后再次运行 makemigrations
。现在我只有一个用于此应用程序的迁移脚本。
我的问题是:
有什么方法可以控制 makemigrations
为应用程序创建迁移的顺序?
比如我有两个应用,app1
和app2
,app1
依赖于app2
。是否可以 makemigrations
先为 app2
创建迁移,然后 app1
?
您可以手动运行 迁移单个应用程序。
./manage.py makemigrations app2
./manage.py makemigrations app1
./manage.py makemigrations # migrate the rest of your apps
您还可以 squash 您现有的迁移。
我正在使用 Django 1.8.4。由于我的项目还在建设中,我经常删除所有迁移脚本,然后重新运行makemigrations
生成初始迁移脚本
我发现 makemigrations
会为我的一个应用程序生成两个迁移脚本,而其他应用程序只有 0001_initial.py
。它会是这样的:
- 0001_initial.py
- 0002_auto_20150919_1645.py
我检查了 0002_auto_20150919_1645.py
的内容,它正在从其他应用程序的模型中添加外部字段。
我想这可能与为应用程序创建迁移的顺序有关。所以我删除了这个应用程序的这两个迁移脚本,然后再次运行 makemigrations
。现在我只有一个用于此应用程序的迁移脚本。
我的问题是:
有什么方法可以控制 makemigrations
为应用程序创建迁移的顺序?
比如我有两个应用,app1
和app2
,app1
依赖于app2
。是否可以 makemigrations
先为 app2
创建迁移,然后 app1
?
您可以手动运行 迁移单个应用程序。
./manage.py makemigrations app2
./manage.py makemigrations app1
./manage.py makemigrations # migrate the rest of your apps
您还可以 squash 您现有的迁移。