Neo*_*ang 19 python django django-models django-migrations
首先,我问的是1.7中引入的Django迁移,而不是south
.
假设我有迁移001_add_field_x
,002_add_field_y
并且它们都应用于数据库.现在我改变主意并决定恢复第二次迁移并将其替换为另一次迁移003_add_field_z
.
换句话说,我想申请001和003,跳过002,我该怎么做?
PS我知道我可以向后迁移到001,但是在我进行003迁移并执行迁移命令之后,001到003将全部应用,对吧?
kar*_*ikr 43
您可以使用该--fake
选项.
一旦你恢复,0001
你就可以运行
python manage.py migrate <app> 0002 --fake
Run Code Online (Sandbox Code Playgroud)
然后跑
python manage.py migrate <app> #Optionally specify 0003 explicitly
Run Code Online (Sandbox Code Playgroud)
这只适用0003
于这种情况.
如果您不想对所有环境/其他开发人员执行此过程,则可以删除迁移文件,运行新makemigration
文件并提交该文件 - 是的,请运行migrate
该--fake
选项
不适用于这种特定情况,但如果想要或需要跳过所有未应用的迁移,可以使用:
python manage.py migrate --fake
Run Code Online (Sandbox Code Playgroud)
只是节省了一点打字时间。
归档时间: |
|
查看次数: |
17945 次 |
最近记录: |