我已经开展了不同月份的Django(版本1.7.6)项目。在这段时间里,每个应用程序都发展得很好,现在有很多次迁移。
我想将此项目部署到新的开发环境中。我设置了一个空模式的数据库,并相应地更新了settings.py
。现在我想从迁移中重新创建数据库结构,但是当我运行python manage.py migrate
时出现以下异常:
文件“/usr/lib/python2.7/dist-packages/django/db/backends/utils.py”, 第65行,执行中 return self.cursor.execute(sql,params)django.db.utils.ProgrammingError:table “modules_server_proj_locations”不存在
modules_server_proj_locations
指的是不再存在的多对多关系,但出于某种原因,迁移仍在尝试使用它。
然后我尝试使用--fake
选项进行迁移,但这只会导致不同的异常:
文件 “/usr/lib/python2.7/dist-packages/django/contrib/contenttypes/models.py” 第58行,在get_for_model中 “在尝试单独迁移应用程序之前会迁移”。 RuntimeError:创建新内容类型时出错。请确认 在尝试单独迁移应用程序之前,会迁移contenttypes。
我该怎么办?
答案 0 :(得分:1)
如果这是您的第一个版本,那么您可以删除整个数据库,删除所有迁移文件,然后运行python manage.py makemigrations
以获得干净的数据库和迁移主题。否则,您可能需要编辑迁移文件并从中删除表跟踪。