0

我的团队有一个项目在 Django 1.6 上与 South 一起运行,我们刚刚升级到 1.7。我按照指南,清除了旧的 South 迁移,运行 makemigrations 并迁移,最终让我的服务器运行,因此我将更改推送到我们的存储库。

现在,我团队中的第二个开发人员从 repo 中退出,升级到 1.7,并尝试运行 migrate(我从 makemigrations 进行的迁移在 repo 中,所以似乎不需要运行 makemigrations)。但是,每当他尝试迁移时(即使使用 --fake),他都会收到“模型尚未加载”。他如何在不删除我的所有迁移和运行 makemigrations 的情况下启动并运行他的环境?

此外,展望未来,在将代码推送到仍在 1.6 上的生产服务器之前,我们必须在 1.7 中进行新的模式迁移。基本上,我们需要升级到 1.7,然后立即应用新的架构更改。如果我们离开 South 并同时应用新的 1.7 迁移,会有什么问题吗?Django 会知道 South 最初应用的过去最初的迁移与离开 South 后创建的新迁移之间的区别吗?

4

1 回答 1

0

我们最终弄清楚了如何让它发挥作用。

最初的 makemigrations 中的许多“0002”迁移都失败了,因为表已经存在,所以我们必须运行 migrate,伪造其中一个“0002”迁移,再次运行 migrate,并重复该过程直到它通过。这是一种痛苦,但它奏效了。

于 2015-03-12T12:59:36.113 回答