首先,我问的是1.7中引入的Django迁移,而不是south
.
假设我有迁移001_add_field_x
, 002_add_field_y
,并且两者都应用于数据库。现在我改变主意并决定恢复第二次迁移并将其替换为另一个迁移003_add_field_z
.
换句话说,我想应用001和003,跳过002,我该怎么做?
附:我知道我可以向后迁移到 001,但是当我进行 003 迁移并执行 migrate 命令后,001 到 003 都会被应用,对吧?
您可以使用--fake
option.
一旦你恢复到0001
你可以跑
python manage.py migrate <app> 0002 --fake
然后运行
python manage.py migrate <app> #Optionally specify 0003 explicitly
这仅适用于0003
在这种情况下。
如果您不想对所有环境/其他开发人员都遵循此过程,您可以删除迁移文件,然后运行新的makemigration
,并提交该文件 - 是的,执行migrate
与--fake
option
docs: https://docs.djangoproject.com/en/3.1/ref/django-admin/#cmdoption-migrate-fake https://docs.djangoproject.com/en/3.1/ref/django-admin/#cmdoption-migrate-fake
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)