更改 django 应用程序名称时迁移历史记录不一致

2024-04-30

我正在尝试重命名 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(使用前将#替换为@)

更改 django 应用程序名称时迁移历史记录不一致 的相关文章

随机推荐