Django重建所有迁移

时间:2016-11-25 15:45:22

标签: python mysql django migration

我正在Django构建一个应用程序,它使用实时/使用中的数据库。

基本上,自应用程序开发以来,SQL数据库经历了一些结构更改,并且导致Django出现问题,Django将尝试将迁移应用于已存在的数据库。例如:

在Django应用程序中,我将email列标记为唯一,基于开发数据库很好。但是,主数据库现在总是有一个表更改,将email列标记为唯一。 Django正在与已经存在的密钥对抗这个独特的密钥。

与更新的SQL数据库结构相比,是否可以清除所有Django迁移并让它再次进行迁移?

1 个答案:

答案 0 :(得分:1)

如果您的模型与数据库非常不同步,最简单的选择可能是使用inspectdb从头开始重建模型。

如果您的模型已经非常接近数据库,那么第一步是确保您的模型与数据库完全匹配。您可以使用django-extensions中的sqldiff进行此操作。

Django模型与数据库匹配后,请按this answer根据现有数据库架构重新创建迁移。