Details
-
Sub-task
-
Resolution: Fixed
-
L3 - Default
-
None
-
None
Description
AC
- Liquibase scripts are tested automatically in CI for equality against manual installation
Hints
- Issues with a maven-only approach:
- Liquibase's "diff" command can work with two online databases - we only have one test database, testing with manual scripts and Liquibase sequentially, clearing up data in-between
- Liquibase's "diff" command can also work with snapshots of databases (JSON files) - the "snapshot" command creating those snapshots is not available in Liquibase's maven plugin, only via CLI and Java API
- Ordering the plugins needed for comparison would be based on maven phases and execution orders within a plugin within a maven phase - this is a very error-prone construct
- Evaluating the Liquibase diff via a maven plugin is not intuitive and easy to do (although probably achievable)
- Solution idea:
- Write Java-based test cases that execute the necessary steps and verifications