Инстанс ТестОпс не запускается после обновления до версии 5 с ошибками, связанными с исключениями liquibase

Последние изменения: 15.10.2024

Симптомы

Приложение не запускается.

Журнал приложения содержит ошибки со следующими строками

ERROR 1 --- [allure-ee-testops] [           main] o.s.boot.SpringApplication               : Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'testResultTreeSelectionController' defined in URL [jar:file:/app/lib/testops-service.jar!/io/qameta/allure/report/testresulttreeselect/TestResultTreeSelectionController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'testResultTreeSelectApiHandler' defined in URL [jar:file:/app/lib/allure-report-service-3.125-SNAPSHOT.jar!/io/qameta/allure/report/testresulttreeselect/TestResultTreeSelectApiHandler.class]: Unsatisfied dependency expressed through constructor parameter 1: Error creating bean with name 'liquibase' defined in class path resource 

...

[org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: liquibase.exception.CommandExecutionException: liquibase.exception.LiquibaseException: liquibase.exception.MigrationFailedException: Migration failed for changeset db/changelog/db.changelog_tree_node.xml::tree-node-12::pratushnyi:

...

Reason: liquibase.exception.DatabaseException: ERROR: syntax error at or near "nulls"

...

Position: 173 [Failed SQL: (0) create unique index if not exists tree_node_tree_id_parent_id_custom_field_value_id_key on tree_node using btree(tree_id, parent_id, custom_field_value_id) nulls not distinct]
...

Основная причина

Если вы видите эти ошибки, это означает, что вы проигнорировали требование о минимальной версии PostgreSQL 15 (или выше) для всех релизов Allure TestOps, выпущенных после 1 марта 2024 года.

Конечные пользователи Allure TestOps были предварительно проинформированы об этом требовании до этого важного изменения.

Пожалуйста, обратитесь к документации: https://qatools.ru/docs/description/release-notes

Как исправить

  • Обновление версии базы данных должно произойти до обновления версии Allure TestOps с 4.26.5 до любого релиза версии 5, как это было описано в документации.

  • Необходимо восстановить предыдущее состояние базы данных из резервной копии.

  • Затем выполнить обновление сервера PostgreSQL до версии 15 или выше.

  • Затем завершить процесс миграции, описанный в нашем руководстве по миграции https://qatools.ru/docs/migrations/to-5

Мы не можем гарантировать корректную работоспособность системы при попытке обновить БД после того, как вы получили ошибки, описанные выше.

Помогла ли вам статья?