【问题标题】:Django 'migration is applied before its dependency' when running any migration commands运行任何迁移命令时,Django“迁移在其依赖项之前应用”
【发布时间】: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


【解决方案1】:

我希望你还没有清除你的模型类。您可以删除您的应用目录的迁移目录下的所有文件,不包括 init.py 文件。 您必须删除表 django_migrations。 删除后运行

python manage.py makemigrations account
python manage.py makemigrations home
python manage.py migrate

【讨论】:

    猜你喜欢
    • 2020-05-10
    • 2016-12-24
    • 2018-10-06
    • 1970-01-01
    • 2021-08-11
    • 2015-04-12
    • 2018-12-07
    • 2020-01-20
    • 2020-10-24
    相关资源
    最近更新 更多