Skip to main content
 首页 » 编程设计

python之Django之迁移混淆了吗

2024年10月24日29davidwang456

我一直在使用 Django 进行契约(Contract)项目,我对实时服务器执行了一些更新,包括从 South 到最新 Django 版本的更新。

我试图按照文档中的说明进行操作,其中声明删除除 init 之外的所有旧迁移文件,然后使用 makemigrations 和“python manage.py migrate --fake-initial” .

但事实证明数据库权限很奇怪。我无法应用更新。

服务器所有者(过去的承包商)尚未意识到存在权限问题,并自行尝试更新。

服务器现在可以正常工作,但他对我说他“必须对工作中的迁移做很多更改,因为没有旧的迁移”。

我假设他不知道从 South 升级到使用 Django 集成迁移的正确方法,并且全部手动完成,而不是让 Django 迁移完成工作。

好吧,现在我已准备好迎接 future 的更新,但我查看了迁移文件夹,它看起来像旧的迁移文件和新的迁移文件都在那里?一个例子:http://screencast.com/t/gYQdc1tl4 (注意日期)。

一切似乎都在工作,但我想知道......我应该如何从这里进行 future 的迁移?常规的 makemigrations/migrate 会起作用吗?或者我应该再次执行 --fake-initial 吗?

有什么建议吗?由于我们偏离了文档,所以我不确定下一步该怎么做。

谢谢

请您参考如下方法:

如果现在一切正常并且您不需要开发服务器的迁移,那么我将删除所有旧迁移(做一个备份!)并使用 --fake-initial 从“新迁移”开始