Enhancement
Major
Detail
Detail
Bugfix
Detail
#28048
Sequence of migration instructions is incorrect
There are several problems when using migration instructions:
- The execution sequence of the migration instructions can be incorrect, so that a migration instruction is executed before another migration instruction required by it.
- When executing migration instructions, the fact that the number of dependent modules may have changed from one software version to a subsequent version is not taken into account. Currently, migration instructions are also executed for modules that were not included in the basic version of the software.
- Some dependencies of migration instructions are inconsistent, so that no valid application sequence can be determined.
Code migration
To ensure that all relevant migrations are executed when upgrading the version (even though not all modules are entered in the database with at least their initial version), the base version must be specified in the configuration.
- Boot the old software version, read the line
com.top_logic.basic.config.ApplicationConfig - Migration modules: [tl, tl-element, tl-contact, ...]
and fill the minimum-modules property in the com .top_logic.knowledge.service.migration.MigrationService section of the application configuration with the values from the log message:
<config service-class="com.top_logic.knowledge.service.migration.MigrationService"> <instance minimum-modules="tl, tl-element, tl-contact, ..." > ... </instance> </config>
Test
- test.com.top_logic.knowledge.service.migration.TestMigrationUtil
- test.com.top_logic.util.TestConsistentMigrationScripts