With sql-scripts-<database> stages, we ensure that
Manual CREATE scripts and Liquibase changelog installation lead to an equal database schema.
Since the Liquibase changelog is additive, we test that executing 7.16.0 CREATE scripts plus all follow-up UPGRADE scripts leads to an equal database schema compared to using the latest CREATE scripts.
We currently don't specifically test that "X-1 CREATE + UPGRADE scripts to X" equals "X CREATE". However, transitively, we do.
We ensure that "7.16.0 CREATE + UPGRADE to 7.17" equals "7.17.0 CREATE".
Thus, we semantically ensure that "7.17.0 CREATE + UPGRADE to 7.18" equals "7.18.0 CREATE".
...
Thus, we semantically ensure that "7.X-1.0 CREATE + UPGRADE to 7.X" equals "7.X.0 CREATE".
As a result, we already ensure what we want to validate using the sql-scripts-<database> stages.
However, this is a very implicit assumption and might easily break if we remove Liquibase support or handle changelogs differently there.
Decisions
We'll explicitly test that "X-1 CREATE + UPGRADE scripts to X" equals "X CREATE".
We don't necessarily need dedicated stages for this if we can integrate this in the sql-script stages, for example.
Backporting will be done at a later stage (probably combining multiple measures at once).
Acceptance Criteria (Required on creation)
Hints
Links
Breakdown