0

环境:在 Windows Server 2016 上的 Docker 存储库中的 docker 容器中运行 Kiwi。我没有对我的 Kiwi 存储库或 docker 映像的克隆进行更改。

Repro:
1. 按照博客上的升级步骤从 Kiwi 6.0 升级/迁移到 6.0.1
2. 重复步骤从 Kiwi 6.0.1 升级/迁移到 6.1

期望:
没有错误

结果:
迁移期间出现异常,我在运行 migrate 命令后单击了我的 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'.
4

1 回答 1

0

啊,这不应该发生。

Repro: 1. 按照博客上的升级步骤从 Kiwi 6.0 升级/迁移到 6.0.1

你能准确描述这些步骤吗?如果你做了一个,git pull那么你的 docker-compose.yml 指向kiwitcms/kiwi:latest并且你必须手动修改它以进行中间升级步骤。

  1. 重复步骤以从 Kiwi 6.0.1 升级/迁移到 6.1

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

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

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

注意:如果在迁移期间没有应用回溯,因此一旦您知道要升级到的起始版本和目标版本,再次尝试迁移应该是安全的。

于 2018-10-25T06:51:14.577 回答