django.db.migrations.exceptions.InconsistentMigrationHistory 作为 6.0.1 到 6.1 升级的一部分的错误

django.db.migrations.exceptions.InconsistentMigrationHistory error as part of 6.0.1 to 6.1 upgrade

环境:运行 docker 容器中的 Kiwi,来自 Windows Server 2016 上的 Docker 存储库。我没有更改我的 Kiwi 存储库克隆或docker 张图片。

转载:
1. 在博客上关注 upgrade steps 以 upgrade/migrate 从 Kiwi 6.0 到 6.0.1
2. 重复步骤 upgrade/migrate 从 Kiwi 6.0.1 到 6.1

预计:
没有错误

结果:
迁移期间出现异常,我在 运行 迁移命令后单击了我的 Kiwi 实例,没有发现任何明显的数据错误或案例、计划和运行之间的关联。但是早期...

完整调用堆栈:

C:\Kiwi>docker exec -it kiwi_web /Kiwi/manage.py migrate
Traceback (most recent call last):
  File "/Kiwi/manage.py", line 12, in <module>
    execute_from_command_line(sys.argv)
  File "/venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/venv/lib/python3.6/site-packages/django/core/management/base.py", line 316, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/venv/lib/python3.6/site-packages/django/core/management/base.py", line 353, in execute
    output = self.handle(*args, **options)
  File "/venv/lib/python3.6/site-packages/django/core/management/base.py", line 83, in wrapped
    res = handle_func(*args, **kwargs)
  File "/venv/lib/python3.6/site-packages/django/core/management/commands/migrate.py", line 85, in handle
    executor.loader.check_consistent_history(connection)
  File "/venv/lib/python3.6/site-packages/django/db/migrations/loader.py", line 297, in check_consistent_history
    connection.alias,
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration management.0013_remove_env is applied before its dependency testruns.0019_remove_testruntag_user on database 'default'.

唉,这不应该发生。

Repro: 1. Follow upgrade steps on blog to upgrade/migrate from Kiwi 6.0 to 6.0.1

你能准确描述一下步骤吗?如果您执行了 git pull,那么您的 docker-compose.yml 指向 kiwitcms/kiwi:latest,您必须为中间升级步骤手动修改它。

  1. Repeat steps to upgrade/migrate from Kiwi 6.0.1 to 6.1

你什么时候得到回溯的,是在第 2 步之前还是在第 2 步之后?

注意:这与 https://github.com/kiwitcms/Kiwi/issues/561 类似,我们对此无能为力。

要调试(我希望你有备份)你必须恢复到你以前的版本(如你所说的 6.0),然后升级到 6.0.1 和 post ./manage.py showmigrations .然后尝试升级到 6.1 并再次检查 showmigrations 以查看是否应用了所有内容。

注意:如果在迁移过程中进行回溯,则尚未应用迁移,因此一旦您知道要升级到的起始版本和目标版本,再次尝试迁移应该是安全的。