Zero-Downtime Database Migrations: Expand-Contract in Practice with Spring Boot
A real four-deploy expand-contract migration built with Spring Boot 4.1 and Flyway, proven live against two running replicas with a continuous-traffic load generator: 99.98% success, plus a genuine NOT NULL trap, a backfill-window bug, and H2 silently dropping a concurrently committed row during ALTER TABLE — confirmed to be a database-specific behavior, not a flaw in the technique.