gpt4 book ai didi

django - 出现错误后如何重做迁移?

转载 作者:行者123 更新时间:2023-12-04 00:07:08 31 4
gpt4 key购买 nike

所以我首先运行 makemigrations,然后运行 ​​migrate 并得到错误 ValueError: The database backend does not accept 0 as a value for AutoField。

所以我继续,修改了我的 models.py 以修复该错误。

现在,当我运行 makemigrations 重新开始时,它可以工作了。然后 migrate 实际上并没有做任何事情,只是再次显示错误。所以那里有一个迁移是不好的,然后有一个是正确的。

所以我在 Stack Overflow 上阅读后尝试运行 ./manage.py migrate --fake mainapp zero ,现在它说 django.db.utils.OperationalError: (1050, "表 'mainapp_article' 已存在").

我有什么想法可以回到我开始的地方,并在从 models.py 中删除错误的情况下重试 makemigrations 吗?

最佳答案

1) 确定您上一次成功迁移:

./manage.py showmigrations mainapp
[X] 0001_initial
[X] 0002_auto_20160425_0102
[X] 0003_auto_20160426_2022
[X] 0004_auto_20160427_0036

2) 然后使用 migrate 将您的数据库迁移到指定的迁移点。

 ./manage.py migrate mainapp 0003_auto_20160426_2022

在此示例中,我假设 0003 迁移成功,而 0004 未成功。

3) 移除迁移文件

rm mainapp/migrations/0004_auto_20160427_0036.py*

4) 运行 makemigrations 并再次迁移。

关于django - 出现错误后如何重做迁移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36971397/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com