django.db.migrations.exceptions.InconsistentMigrationHistory错误(从6.0.1升级到6.1)

时间:2018-10-25 00:44:52

标签: kiwi-tcms

环境:在Windows Server 2016上的Docker存储库中的docker容器中运行Kiwi。我尚未更改Kiwi repo或docker镜像的克隆。

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

期望:
没有错误

结果:
迁移期间的例外情况是,在运行migration命令后,我在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'.

1 个答案:

答案 0 :(得分:0)

啊,这不应该发生的。

  

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

您能准确描述步骤吗?如果您执行了git pull,则docker-compose.yml指向kiwitcms/kiwi:latest,并且您必须在中间升级步骤中手动对其进行修改。

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

在第2步之前或第2步之后何时获得追溯?

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

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

注意:在迁移期间不进行回溯的情况下,尚未应用迁移,因此一旦知道要升级到的起始版本和目标版本,再次尝试进行迁移应该是安全的。