316-frameworks-spring-mongodb-migrations-mongock
About 316-frameworks-spring-mongodb-migrations-mongock
A skill for teams maintaining Spring Boot and Spring Data MongoDB projects that use Mongock. It guides migration setup and review, emphasizing compatible dependencies, safe change units, and build verification before and after edits.
Key features
- 01Mongock dependency and runner setup
- 02Migration package configuration
- 03Code-first @ChangeUnit patterns
- 04Locking and idempotency guidance
- 05Build and migration verification
Use cases
- 01Adding Mongock migrations to Spring Boot
- 02Reviewing MongoDB data migrations
- 03Checking migration ordering and compatibility
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ jabrena/ plinth --skill 316-frameworks-spring-mongodb-migrations-mongockAfter installing, type/316-frameworks-spring-mongodb-migrations-mongockin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/316-frameworks-spring-mongodb-migrations-mongock-antipatterns.md316-frameworks-spring-mongodb-migrations-mongock-parallel-change.md316-frameworks-spring-mongodb-migrations-mongock.mdDetails
From the project READMESpring - MongoDB migrations (Mongock)
Apply Mongock migration guidelines for Spring Boot and Spring Data MongoDB.
What is covered in this Skill?
- Mongock BOM, Spring Boot runner, and Spring Data MongoDB driver coordinates
mongock.migration-scan-packageconfiguration and startup execution- Code-first
@ChangeUnitmigrations with@Executionand rollback hooks - Locking, idempotency, transaction limits, and forward-only rollout discipline
- Optional MongoDB-backed integration tests using only project-approved, pinned, or already-available container images when the user permits external runtime dependencies
- Coordination with
@315-frameworks-spring-mongodb
Scope: Apply recommendations based on the reference rules and good/bad examples.
Constraints
Compile before Mongock or MongoDB migration changes; verify after changes.
- 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
- EDGE CASE: If the project Spring Data MongoDB version is not compatible with the selected Mongock driver, stop and ask whether to pin/upgrade Mongock or use a lower driver generation
- EXTERNAL RUNTIME GATE: Do not pull or execute Docker images for MongoDB verification unless the user explicitly approves and the image is pinned, policy-approved, or already present in the project configuration
When to use this skill
- Add Mongock migrations in Spring Boot
- Review Spring MongoDB data migrations
- Configure Mongock change units for Spring Data MongoDB
- Create Mongock change units for Spring Boot MongoDB
- Review Mongock migration ordering in a Spring service
Workflow
- Read references and inspect MongoDB setup
Read references/316-frameworks-spring-mongodb-migrations-mongock.md, references/316-frameworks-spring-mongodb-migrations-mongock-antipatterns.md, and references/316-frameworks-spring-mongodb-migrations-mongock-parallel-change.md, then inspect pom.xml, Spring Boot version, dependency management, MongoDB configuration, existing full-context tests, and existing @315-frameworks-spring-mongodb persistence patterns.
- Choose runner, driver, and execution policy
Select Mongock coordinates compatible with the active Spring Data MongoDB generation, configure migration scan packages, and decide startup vs controlled-job execution.
- Apply framework-aligned migrations
Implement/refactor @ChangeUnit classes with idempotent operations, explicit ordering, rollback hooks, and safe lock/transaction settings.
- Run verification and report results
Execute build/tests. Run MongoDB-backed migration checks only when the project already defines an approved MongoDB test runtime or the user explicitly approves a pinned container image. If generic @SpringBootTest smoke tests do not provide MongoDB, disable Mongock only for those tests with mongock.enabled=false. Summarize outcomes and follow-up risks.
Reference
For detailed guidance, examples, and constraints, see: