我的团队在南部的Django 1.6上运行了一个项目,我们刚刚升级到1.7。我按照指南,清除了旧的南迁移,运行makemigrations并迁移,最终让我的服务器运行,所以我将更改推送到我们的存储库。
现在我的团队中的第二个开发人员从repo中撤下,升级到1.7,并尝试运行迁移(我的makemigrations迁移在repo中,因此似乎不需要运行makemigrations )。然而,他得到的模型还没有被加载。"每当他试图迁移时(即使是--fake)。如何在不删除所有迁移和运行makemigrations的情况下启动并运行其环境?
另外,展望未来,在将代码推送到仍在1.6的生产服务器之前,我们必须在1.7中进行新的模式迁移。基本上,我们需要升级到1.7,然后立即应用新的架构更改。如果我们离开南方并同时应用新的1.7迁移,会不会有任何问题? Django会不会知道南方最初应用的最初迁移与从南方迁移后创建的新迁移之间的区别?
答案 0 :(得分:0)
我们最终弄清楚如何让它发挥作用。
最初的makemigrations中的很多“0002”迁移都失败了,因为这些表已经存在,所以我们不得不运行迁移,伪造其中一个“0002”迁移,再次运行迁移,并重复该过程直到它去了通过。这很痛苦,但确实有效。