Symptoms
- The application does not start.
- The application log contains errors with the following strings
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]
Root cause
If you see these errors, this means you've ignored the requirement on the minimal version of PostgreSQL which is 15 for all the releases of Allure TestOps delivered after 1st March 2024. Please refer to the documentation:
- https://docs.qameta.io/allure-testops/release-notes/ver4/#08-april-2024--allure-testops-4251
- https://github.com/orgs/allure-framework/discussions/2125
The end users of Allure TestOps were well informed on this requirement in advance to this important change.
How to fix
The database version upgrade must happen before the upgrade of the version of Allure TestOps from 4.26.5 to any release of version 5 as it was announced in the documentation and discussion.
You need to restore the previous state of the database from the backup.
Then perform the upgrade of the PostgreSQL sever.
Then complete the migration process described in our migration guide https://docs.qameta.io/allure-testops/migrations/to-5/
We cannot guarantee correct working and start of the application if the PostgreSQL upgrade process to version 15 and higher would be performed after you faced the described issue.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article