Проблема миграции базы данных Kiwi-tcms v8.0 с тестовыми запусками - PullRequest
0 голосов
/ 19 февраля 2020

Я только что мигрировал Kiwi tcms с v7.1 на сервере A до v8.0 на сервере B (я виртуализировал наш сервер приложений).

Я использую контейнер pg sql для БД.

Для миграции я использовал метод резервного копирования-восстановления.

Том базы данных на сервере B совершенно новый, и я создал схему, используя /Kiwi/manage.py migrate

Затем я восстановил . json. Но я столкнулся с проблемой схемы из-за изменений в v8.0 первичного ключа. Я просто заменил в файле json старые имена на новые и восстановление прошло.

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

Предупреждение DataTables: таблица id = resultsTable - запрошенный неизвестный параметр 'run_id' для строки 0, столбца 0. Для получения дополнительной информации об этой ошибке см. http://datatables.net/tn/4

Я не уверен, допустил ли я какую-либо ошибку во время миграции или действительно есть ошибка в процессе миграции.

Для информации: я пробовал на своем тестовый контейнер в v7.3 для переноса базы данных в v8.0. Все прошло нормально, но у меня была та же проблема в конце.

Заранее спасибо за поддержку!

РЕДАКТИРОВАТЬ 1

Я решил свою проблема, следуя совету @Alexander Todorov и перезапуская шаги миграции:

  1. Я загрузил образ kiwi 7.1 в мой реестр docker, поэтому я мигрировал на свой сервер B с помощью kiwi 7.1. Теперь я могу сосредоточиться на обновлении.

  2. Я использую контейнер pg sql, поэтому мне не нужно было обновлять контейнер mariadb перед миграцией.

  3. Я обновил до kiwi 8.0, используя kiwitcms / kiwi: последнее изображение.

Я не уверен, почему обновление с версии 7.3 не сработало в первый раз, а с версии 7.1 до 8.0 все прошло нормально.

Возможно, я выполнил резервное копирование с версии 7.1 и восстановил на версии 7.3. На данный момент все было нормально с использованием 7.3, но у меня были проблемы с переходом на 8.0 ...

В любом случае, спасибо за вашу поддержку!

EDIT 2

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

Что у меня сейчас есть:

  • Экземпляр preprod для kiwi, работающий нормально в v8.0

Что Я хочу:

  • Производственный экземпляр в v8.0

Что я пробовал:

  • Создать новый экземпляр в v8.0 и резервное копирование базы данных preprod для восстановления на prod => завершается с ошибкой, которая у меня была раньше ...

Предупреждение DataTables: таблица id = resultsTable - запрошенный неизвестный параметр 'run_id' для строки 0, столбец 0. Для получения дополнительной информации об этой ошибке см. http://datatables.net/tn/4

  • Создайте новый экземпляр в v7.1 и перенесите точно таким же образом как я делал на моем preprod => не удается с той же ошибкой ...

Я действительно ничего не понимаю в этом: /

Ответы [ 3 ]

0 голосов
/ 26 февраля 2020

С такой же проблемой. Для оценки я использовал Kiwi-TCMS 7.3, решил перейти на версию 8.0, удалив все (docker system prune -a). После установки fre sh 8.0 я успешно создал план тестирования, но если я go в «Поиск планов тестирования», у меня появляется сообщение об ошибке того же вида:

Предупреждение DataTables: таблица id = resultsTable - запрошенный неизвестный параметр 'plan_id' для строки 0, столбца 0. Для получения дополнительной информации об этой ошибке см. http://datatables.net/tn/4

Не знаю, как решить эту проблему ....

0 голосов
/ 03 марта 2020

Понятия не имею, почему это работает, но я сделал следующее, и все, кажется, исправлено. Мои симптомы были в точности такими, как описано здесь (7.3-> 8.0, mariaDB, обрезано после 8.0, предупреждение DataTables)

$ cd Kiwi
$ sudo docker exec -it kiwi_db bash
$ mysql -ukiwi -p -h 127.0.0.1 (pw kiwi from yml)

Затем в mariaDB

use kiwi;
show tables;
describe testruns_testrun;
select * from testruns_testrun;

Именно здесь я обновил страница, чтобы вытащить значение идентификатора, чтобы посмотреть, когда вдруг мой тест загружен. Я сделал

sudo docker-compose down && sudo docker-compose up -d

Чтобы убедиться, что проблема не возвращается и не возвращается. Я не администратор базы данных, просто возню Я сделал новый прогон из плана, который работал, пока я не ушел, и попытался найти тестовый прогон. Я сделал выше, потом.

0 голосов
/ 21 февраля 2020

Я только что перенес tcms Kiwi с v7.1 на сервере A на v8.0 на сервере B (я виртуализировал наш сервер приложений).

Вот что вызывает у вас проблемы. Вы пытаетесь восстановить одну версию схемы БД + данные в другую версию (на втором сервере). Между двумя версиями существует довольно много миграций БД, и то, что вы пытаетесь сделать, всегда приводит к сбою.

Можно использовать сервер A и обновить его до последней версии, затем сбросить данные, перейти на сервер B (с той же версией) и восстановить данные на чистой БД и на сервере вывода из эксплуатации A.

Вы также можете настроить сервер B на более старую версию Kiwi TCMS, перенести туда данные и затем обновить сервер B до v8.0.

...