【问题标题】:Django Makemigrations and Migrate keep repeatingDjango Makemigrations 和 Migrate 不断重复
【发布时间】:2020-05-08 02:31:24
【问题描述】:

我的 django 应用程序似乎发生了一些事情。有两种模型,一种是我修改的,另一种是新添加的。自从这两个更改以来,我的makemigrationsmigrate 随着迁移数量的增加继续保持相同的更改。 当我makemigrations

Migrations for 'om':
  0033_auto_20200122_0001.py:
    - Alter field delivery_date on growerpurchaseorderitem
Migrations for 'accounts':
  0105_auto_20200122_0001.py:
    - Alter field created on pushtoken
    - Alter field push_token on pushtoken

当我migrate

Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
  Installing custom SQL...
Running migrations:
  Rendering model states... DONE
  Applying accounts.0105_auto_20200122_0001... OK
  Applying om.0033_auto_20200122_0001... OK

我试图伪造一个迁移来克服这个问题,但没有运气。这是一个问题,因为任何新更改都没有注册到我的模型中。

编辑:

显示迁移:

为了我的妈妈

[X] 0030_auto_20200121_2339
 [X] 0031_auto_20200121_2343
 [X] 0032_auto_20200121_2348
 [X] 0033_auto_20200122_0001

我的帐户

[X] 0099_certpdf_expiration_date
 [X] 0100_pushtoken
 [X] 0101_auto_20200121_2145
 [X] 0102_auto_20200121_2339
 [X] 0103_auto_20200121_2343
 [X] 0104_auto_20200121_2348
 [X] 0105_auto_20200122_0001

【问题讨论】:

  • 迁移真的改变了你的数据库吗?
  • 可以添加迁移文件吗?
  • @GregKaleka 是的,我可以从仪表板查看它们
  • 这能回答你的问题吗? Django keeps migrating the same foreign key
  • 添加迁移文件@gdef_

标签: python django django-models


【解决方案1】:

根据我的研究,这很可能是程序出错的地方:

Synchronizing apps without migrations:

尝试创建迁移,然后伪造第一个迁移:

python manage.py makemigrations <app_name>
python manage.py migrate --fake-initial

这些命令将跳过已创建表的任何迁移。

附:如果您不知道什么是虚假迁移,请check out the explanation

【讨论】:

    【解决方案2】:

    无论迁移有什么问题,只需删除迁移文件夹中最后自动创建的文件,然后再做一次。

    也可以直接编辑运行:

    python manage.py makemigrations
    
    python manage.py migrate
    

    【讨论】:

      猜你喜欢
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      • 2018-08-09
      • 2021-04-19
      • 2018-04-20
      • 1970-01-01
      • 2021-10-01
      • 1970-01-01
      相关资源
      最近更新 更多