【问题标题】:Django: handle migrations for an imported database?Django:处理导入数据库的迁移?
【发布时间】:2015-11-20 17:25:56
【问题描述】:

我正在使用 Django 1.8 并尝试建立一个现有项目。我继承了一个数据库转储和一个代码库。

我已成功导入数据库转储。

问题是,如果我尝试对导入的数据库运行 migrate,则会收到有关已存在列的错误,因为数据库已经处于所有迁移的最终状态:

 django.db.utils.ProgrammingError: column "managing_group_id" 
   of relation "frontend_pct" already exists

我该如何解决这个问题?

我希望能够从这一点添加新的迁移,并且我也不希望删除所有现有的迁移。

基本上我需要一种方式来表达“直接跳到迁移 36,然后从那里继续”。

【问题讨论】:

    标签: python django django-migrations django-database


    【解决方案1】:

    我认为您的迁移问题已由上一个答案解决。因此,我在下面添加了一个链接...

    如果你刚开始使用 django 1.7 及以上版本,那么

    在这里我想添加一个链接Django Migration How works

    我认为这将很有用。

    【讨论】:

      【解决方案2】:

      使用--fake 选项告诉 Django 数据库中的每个应用程序都已迁移到特定迁移。例如,对于已经迁移到迁移 36 的应用:

      ./manage.py migrate --fake myapp 0036_your_migration_name
      

      您必须为每个已安装的应用执行此操作。

      【讨论】:

      • 呸!谢谢 :) 对于任何想知道的人,--fake 标志位于上述命令的末尾。
      猜你喜欢
      • 1970-01-01
      • 2021-04-11
      • 2021-05-01
      • 2018-03-04
      • 2018-03-12
      • 2014-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多