我正在Django构建一个应用程序,它使用实时/使用中的数据库。
基本上,自应用程序开发以来,SQL数据库经历了一些结构更改,并且导致Django出现问题,Django将尝试将迁移应用于已存在的数据库。例如:
在Django应用程序中,我将email
列标记为唯一,基于开发数据库很好。但是,主数据库现在总是有一个表更改,将email
列标记为唯一。 Django正在与已经存在的密钥对抗这个独特的密钥。
与更新的SQL数据库结构相比,是否可以清除所有Django迁移并让它再次进行迁移?
答案 0 :(得分:1)
如果您的模型与数据库非常不同步,最简单的选择可能是使用inspectdb
从头开始重建模型。
如果您的模型已经非常接近数据库,那么第一步是确保您的模型与数据库完全匹配。您可以使用django-extensions中的sqldiff进行此操作。
Django模型与数据库匹配后,请按this answer根据现有数据库架构重新创建迁移。