【发布时间】:2016-10-04 07:01:14
【问题描述】:
我正在尝试重命名我的 django 网站中的一个应用程序。还有另一个应用程序依赖于它及其 mysql 表。我检查了两个应用程序中的所有文件并将旧名称的实例更改为新名称。
但是,现在我在尝试执行迁移时遇到此错误消息:
File "/Users/Limor/anaconda/lib/python2.7/site-packages/Django-1.10a1-py2.7.egg/django/db/migrations/loader.py", line 287,
in check_consistent_history
migration[0], migration[1], parent[0], parent[1],
django.db.migrations.exceptions.InconsistentMigrationHistory:
Migration manual_tasks.0001_initial is applied before its dependency beta.0001_initial
我找不到此问题的解决方案,如果我试图注释掉引发异常的特定函数,我会在以后遇到相关问题。我注定要失败,还是有办法解决它?
谢谢!
编辑:
旧名称是version_1,新名称是beta,另一个依赖它的应用程序是manual_tasks。
代码结构如下:
~/website/
|-- .ebextensions
| `-- django.config
|-- project
| |-- __init__.py
| |-- local_settings.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
|-- db.sqlite3
|-- manage.py
|--beta
| |-- __init__.py
| |-- admin.py
| |-- apps.py
| |-- local_settings.py
| |-- models.py
| |-- tests.py
| |-- urls.py
| |-- views.py
| |-- migrations
| |-- __init__.py
| |-- 0001__initial.py
| |-- static
| |-- assets
| |-- images
| |-- templates
|--manual_tasks
| |-- __init__.py
| |-- admin.py
| |-- apps.py
| |-- models.py
| |-- tests.py
| |-- urls.py
| |-- views.py
| |-- migrations
| |-- __init__.py
| |-- 0001__initial.py
| |-- static
| |-- assets
| |-- images
| |-- templates
`-- requirements.txt
希望它更有意义!
【问题讨论】:
-
问题出在您的迁移依赖项中,但很难从这些信息中弄清楚。用旧的应用名称更新您的问题新的应用名称,并指出项目结构现在的样子
-
是的,这实际上让事情变得更加清晰,并且有希望,因为只有一次迁移。只需编辑迁移文件即可修复。如果它们不是很长,你能把它们贴出来。如果它们很长,则仅发布依赖部分和显示外键关系的字段等
-
另外,如果数据库中没有任何数据。或者数据不重要,你可以删除数据库,删除迁移文件,不到一分钟再做一遍
-
谢谢!这很有帮助,我能够弄清楚:)
标签: python mysql django rename