我正在尝试重命名 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
我找不到这个问题的解决方案,如果我尝试注释掉引发异常的特定函数,我会遇到相关问题。我是注定要失败还是有办法解决它?
Thanks!
EDIT:
旧名称是 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
希望它更有意义!
我认为您已经运行了名为version_1.0001_initial在将应用程序重命名为之前beta。您所需要的只是更新表中的数据库记录django_migrations并使用以下 SQL 语句将旧应用程序迁移重命名为新名称:
UPDATE django_migrations SET app = 'beta' WHERE app = 'version_1';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)