| name | 313-frameworks-spring-db-migrations-flyway |
| description | Use when you need to add or review Flyway database migrations in a Spring Boot application — Maven dependencies, db/migration scripts, spring.flyway.* configuration, baseline and validation, and alignment with JDBC or Spring Data JDBC. This should trigger for requests such as Add or review Flyway migrations in a Spring Boot project; Configure spring.flyway or db/migration layout. Part of cursor-rules-java project |
| license | Apache-2.0 |
| metadata | {"author":"Juan Antonio Breña Moral","version":"0.16.0"} |
Spring — 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
- Coordination with
@311-frameworks-spring-jdbc and @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 compile or mvn compile before applying any change
- SAFETY: If compilation fails, stop immediately
- VERIFY: Run
./mvnw clean verify or mvn clean verify after applying improvements
- BEFORE APPLYING: Read the reference for detailed rules and good/bad patterns
- 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
Workflow
- Read reference and assess project context
Read references/313-frameworks-spring-db-migrations-flyway.md and 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.
- 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 references/313-frameworks-spring-db-migrations-flyway.md.