Ошибка django.db.migrations.exceptions.InconsistentMigrationHistory как часть обновления с 6.0.1 до 6.1 - PullRequest
0 голосов
/ 25 октября 2018

Среда: запуск Kiwi в Docker-контейнерах из репозитория Docker в Windows Server 2016. Я не внес изменения в свой клон репозитория Kiwi или образы Docker.

Repro:
1. Follow шаги по обновлению в блоге для обновления / миграции с Kiwi 6.0 до 6.0.1
2. Повторите шаги по обновлению / миграции с Kiwi 6.0.1 до 6.1

Ожидайте:
Нетошибки

Результат:
Исключение во время миграции, я щелкнул по своему экземпляру Kiwi после выполнения команды migrate и не увидел ничего явно неправильного в данных или связях между случаями, планами и запусками.Но в первые дни ...

Полный стек вызовов:

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 голосов
/ 25 октября 2018

Argh, это не должно происходить.

Repro: 1. Выполните шаги по обновлению в блоге, чтобы обновить / перейти с Kiwi 6.0 до 6.0.1

Можетвы точно описываете шаги?Если вы сделали git pull, тогда ваш docker-compose.yml указывает на kiwitcms/kiwi:latest, и вы должны вручную изменить это для промежуточного шага обновления.

Повторите шаги для обновления / перехода с 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, чтобы увидеть, все ли применено.

Примечание: в случае отслеживания во время миграций миграция не применялась, поэтому будет безопасно попытаться выполнить миграцию снова, как только вызнать, какая версия является начальной и целевой, которую вы обновляете.

...