【发布时间】:2016-09-09 17:24:22
【问题描述】:
我对 Django 很陌生,我使用的是 1.10 版本。我达到了由于错误而无法迁移的地步,因此使用 ./manage.py migrate myapp 0003_auto_20160426_2022 备份到较早的迁移并删除了以后的迁移文件。然后我修复了我的models.py 并运行了makemigrations,效果很好。但是当我尝试migrate时,我收到了以下错误(只显示最后几行)
文件 "/Users/wahhab/Sites/rts/env/lib/python3.5/site-packages/MySQLdb/connections.py", 第 280 行,查询中 _mysql.connection.query(self, query) django.db.utils.OperationalError: (1022, "Can't write; duplicate key in table '#sql-72_4a6'")
我不知道如何从这一点继续前进,以便我可以继续从事我的项目。我在其他应用程序中有数据,但到目前为止在这个新应用程序中只有一点测试数据,所以我考虑删除这个应用程序的所有迁移和 MySQL 表并重新开始,但我不想造成比我更糟糕的混乱有并且不知道是什么导致了这个错误。欢迎任何建议。谢谢!
【问题讨论】:
-
迁移的问题在于,尽管他们有一个伟大的理念,但很难在一些只有非常有经验的开发人员才能解决的微小细节上维持生计。 My hackish approach 是始终销毁开发数据库,从备份重建它,然后
makemigrations。我有一个方便的脚本,我只是等待它完成。 Hackish 但它让我的精神状态更安全。