【发布时间】:2020-06-22 13:24:33
【问题描述】:
我正在使用连接到本地 MySQL 数据库的 Django 3.0.2。我的项目当前有 2 个应用程序,“accounts”和“home”。 p>
在更新了一些模型字段后,我删除了数据库中的所有表,并删除了迁移文件夹中除__init__.py 之外的所有文件。尝试启动开发服务器时显示错误:Dependency on app with no migrations: accounts,所以我运行了 python manage.py makemigrations,它返回了这个
Migrations for 'accounts':
accounts\migrations\0001_initial.py
- Create model User
Migrations for 'home':
home\migrations\0001_initial.py
- Create model Idea
- Create model Reply
在此之后,运行服务器会给出警告提示
您有 1 个未应用的迁移。在您为 app(s): 帐户应用迁移之前,您的项目可能无法正常运行。 运行“python manage.py migrate”以应用它们。
这样做会给我一个InconsistentMigrationHistory 异常:
Migration admin.0001_initial is applied before its dependency accounts.0001_initial on database 'default'
运行 python manage.py showmigrations 会返回:
accounts
[ ] 0001_initial
admin
[X] 0001_initial
[X] 0002_logentry_remove_auto_add
[X] 0003_logentry_add_action_flag_choices
auth
[X] 0001_initial
[X] 0002_alter_permission_name_max_length
[X] 0003_alter_user_email_max_length
[X] 0004_alter_user_username_opts
[X] 0005_alter_user_last_login_null
[X] 0006_require_contenttypes_0002
[X] 0007_alter_validators_add_error_messages
[X] 0008_alter_user_username_max_length
[X] 0009_alter_user_last_name_max_length
[X] 0010_alter_group_name_max_length
[X] 0011_update_proxy_permissions
contenttypes
[X] 0001_initial
[X] 0002_remove_content_type_name
home
[X] 0001_initial
sessions
[X] 0001_initial
我尝试以不同的顺序运行命令,但最终得到相同的结果。如果需要,我可以提供有关该应用的更多详细信息。
【问题讨论】:
-
为特定应用运行迁移
manage.py migrate accounts然后运行另一个迁移 -
它仍然给我
InconsistentMigrationHistory错误
标签: python mysql django django-migrations