Django Makemigrations 和 Migrate 不断重复
Posted
技术标签:
【中文标题】Django Makemigrations 和 Migrate 不断重复【英文标题】:Django Makemigrations and Migrate keep repeating 【发布时间】:2020-05-08 02:31:24 【问题描述】:我的 django 应用程序似乎发生了一些事情。有两种模型,一种是我修改的,另一种是新添加的。自从这两个更改以来,我的makemigrations
和migrate
随着迁移数量的增加继续保持相同的更改。
当我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_ 【参考方案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
【讨论】:
以上是关于Django Makemigrations 和 Migrate 不断重复的主要内容,如果未能解决你的问题,请参考以下文章
Django Makemigrations 和 Migrate 不断重复
makemigrations 和升级到 Django 1.7 的问题
django heroku makemigrations 忽略模型的变化