为尚未进行任何迁移的Django项目创建迁移



我为一个有13年历史的Django项目的客户工作。当他们构建项目时,没有实现迁移,因此项目目前缺乏迁移。我尝试过创建迁移,然后进行数据转储并将数据加载到新数据库中以进行测试。我遇到了各种各样的错误,我想重新开始。

所以我的问题是。我应该采取哪些步骤在项目中实施迁移,以便我们可以使用迁移向前迈进?django版本已经更新到3.0.5,并且使用了许多GenericForeignKeys,这可能会使这变得更加棘手。在最初创建迁移时,我被告知要使用假标签,但我并不完全理解这意味着什么。

在我应该采取的步骤中提供任何帮助都将不胜感激。为了客户的隐私/安全,我不想只分享他们的大量代码,但如果它能帮助某人确定我应该采取的步骤,我可以分享其中的一部分。

供参考。在最初创建迁移文件,然后尝试dumpdata/loaddata命令后,我通常会收到一个错误,说存在与内容类型相关的重复条目或django_site域的重复条目。客户端根据他们在世界上的何处登录来设置域;name";是独一无二的;域";是一样的。

(1062, "Duplicate entry 'www.example.com' for key 'django_site.django_site_domain_a2e37b91_uniq'")
  • 如果您谈论的是在本地工作,只需再次删除所有迁移(migrations/__init__.py除外(和makemigrations

  • 如果您正在生产,您可以安全地使用--fake一次。

  • 如果您知道如何处理迁移,并且迁移的文件很少,那么您也可以更改旧的迁移。

我在这里回答了一个类似的问题

最新更新