【发布时间】:2018-08-01 05:24:43
【问题描述】:
当我更改我的 models.py 并进行迁移时,我收到一条错误消息:
python manage.py makemigrations project_profile
CommandError:检测到有冲突的迁移;迁移图中的多个叶节点:(project_profile 中的 0033_auto_20180217_0912、0036_auto_20180217_0927)。 要修复它们,请运行“python manage.py makemigrations --merge”
因此,当我尝试按照说明操作时,我收到另一个错误,即合并迁移现在所依赖的一个表不再存在(我将其重命名)。有趣的是,这种重命名发生在合并操作期间。所以,Django 真的应该一开始就知道它。
为了解决这种情况,我删除了之前的迁移,包括未应用的迁移,这是最令人头疼的迁移。我试图进行迁移并再次迁移。但是,Django 现在抛出另一个错误,说它想在数据库中创建的一些模型已经存在。显然,我不想删除这些表并放弃所有这些信息来安抚 Django。因此,我不得不求助于一些黑客解决方案,并手动更改这些表并进行虚假迁移,以阻止 Django 抱怨。
说了这么多,我觉得应该有一个更合乎逻辑的方式。合并期间如何解决迁移问题?
【问题讨论】: