Add db-migrations-flyway-liquibase: Flyway vs Liquibase migrations, rollbacks and baselines on Spring Boot 4.1

Companion code for the Flyway vs Liquibase article: checksum validation, out-of-order
and repeatable migrations, baselining an existing schema, Flyway Community's undo/diff/deploy
stubs, concurrent-startup locking for both tools, Liquibase changeset identity and rollback
(auto-generated vs explicit), a verified Liquibase 5.0.3 filename-caching defect, the new
OSS license service, the FSL license change, and running both tools against one database.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Q6XdRjtsp4862EM44T7i9a
This commit is contained in:
2026-09-15 07:08:57 +00:00
co-authored by Claude Sonnet 5
parent b02fbe1416
commit 3908331431
61 changed files with 3128 additions and 0 deletions
@@ -0,0 +1,22 @@
package com.ankurm.dbmigrations;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* Runnable demo used only for the {@code /diag/migrations} endpoint (see
* {@link com.ankurm.dbmigrations.web.MigrationDiagnosticsController} and
* docs/15-production-checklist.md). Every other scenario in this module runs as a JUnit test
* against {@code ApplicationContextRunner} so it starts in milliseconds and needs no server —
* see docs/01-the-problem-and-mental-model.md for why that split was made.
*
* <p>Delete the diagnostics endpoint before shipping a real service; it prints raw migration
* bookkeeping tables with no authorization check.
*/
@SpringBootApplication
public class DbMigrationsApplication {
public static void main(String[] args) {
SpringApplication.run(DbMigrationsApplication.class, args);
}
}