313-frameworks-spring-db-migrations-flyway
About 313-frameworks-spring-db-migrations-flyway
A skill for applying Flyway database migration practices in Spring Boot projects. It covers migration layout and configuration, favors forward-only changes, and uses an expand-migrate-contract approach for risky schema changes.
Key features
- 01Configure Flyway for Spring Boot
- 02Organize versioned SQL migrations
- 03Use optional Java migrations
- 04Keep applied migrations forward-only
- 05Apply expand-migrate-contract changes
- 06Verify with Maven build commands
Use cases
- 01Adding a versioned SQL migration
- 02Reviewing migration order and configuration
- 03Planning a breaking schema change
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ jabrena/ plinth --skill 313-frameworks-spring-db-migrations-flywayAfter installing, type/313-frameworks-spring-db-migrations-flywayin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/313-frameworks-spring-db-migrations-flyway-parallel-change.md313-frameworks-spring-db-migrations-flyway.md313-frameworks-spring-db-migrations-flyway-antipatterns.mdDetails
From the project READMESpring — Database migrations (Flyway)
Apply Flyway migration guidelines for Spring Boot.
What is covered in this Skill?
- flyway-core and database-specific Flyway modules (e.g. PostgreSQL) with Spring Boot BOM
- Versioned SQL under
src/main/resources/db/migration(V{version}__{description}.sql) spring.flyway.*properties: locations, baseline-on-migrate, validate-on-migrate- Optional Java migrations (
BaseJavaMigration) for data backfills - Forward-only discipline: do not rewrite applied migrations in shared environments
- Parallel Change as the safe expand, migrate, contract workflow for breaking or data-sensitive schema changes
- Coordination with
@311-frameworks-spring-jdbcand@312-frameworks-spring-data-jdbc
Scope: Apply recommendations based on the reference rules and good/bad examples.
Constraints
Before applying Flyway or SQL changes, ensure the project compiles. After improvements, run full verification.
- MANDATORY: Run
./mvnw compileormvn compilebefore applying any change - SAFETY: If compilation fails, stop immediately
- VERIFY: Run
./mvnw clean verifyormvn clean verifyafter applying improvements - BEFORE APPLYING: Read the reference for detailed rules and good/bad patterns
- BREAKING CHANGE REVIEW: Before recommending or applying a migration, assess whether it can break deployed application versions, dependent services, reports, jobs, or production data interpretation; if yes, require explicit human review before proceeding
- EDGE CASE: If the user goal is ambiguous, stop and ask a clarifying question before editing files or running project-wide commands
- EDGE CASE: If required context, files, credentials, or tools are missing, report the blocker explicitly and ask whether to proceed with setup or fallback guidance
- EDGE CASE: If requested changes conflict with project constraints or safety boundaries, explain the conflict and ask for user confirmation on the preferred trade-off
When to use this skill
- Add or review Flyway migrations in a Spring Boot project
- Configure spring.flyway or db/migration layout
- Add versioned Flyway SQL migrations for Spring Boot
- Review Spring Boot database migration ordering
- Fix repeatable Flyway migrations in a Spring project
Workflow
- Read references and assess project context
Read references/313-frameworks-spring-db-migrations-flyway.md, references/313-frameworks-spring-db-migrations-flyway-antipatterns.md, and references/313-frameworks-spring-db-migrations-flyway-parallel-change.md, then inspect the current project setup before proposing changes.
- Gather scope and decide target improvements
Identify requested outcomes, constraints, and the minimum safe set of changes to apply.
- Apply framework-aligned changes
Implement or refactor configuration/code following the reference patterns and project conventions. Use Parallel Change (expand, migrate, contract) as the safe default for breaking or data-sensitive schema changes.
- Run verification and report results
Execute appropriate build/tests and summarize what changed, what was verified, and any follow-up actions.
Reference
For detailed guidance, examples, and constraints, see: