首页 文章

如何将现有的Django项目迁移到新的空数据库(或模式)?

提问于
浏览
0

我已经在不同月份开发了一个Django(版本1.7.6)项目 . 在这段时间里,每个应用程序都发展得很好,现在有很多次迁移 .

我想将此项目部署到新的开发环境中 . 我设置了一个空模式的数据库,并相应地更新了 settings.py . 现在我想从迁移中重新创建数据库结构,但是当我运行_1714623时,我得到以下异常:

文件“/usr/lib/python2.7/dist-packages/django/db/backends/utils.py”,第65行,在执行中返回self.cursor.execute(sql,params)django.db.utils.ProgrammingError :表“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 .

我该怎么办?

1 回答

  • 1

    如果这是您的第一个版本,则可以删除整个数据库,删除所有迁移文件,然后运行 python manage.py makemigrations 以获取干净的数据库和迁移主题 . 否则,您可能需要编辑迁移文件并从中删除表跟踪 .

相关问题