mcpField
3
316-frameworks-spring-mongodb-migrations-mongock

316-frameworks-spring-mongodb-migrations-mongock

github.com/jabrenaData & databases456198 installsUpdated 1d ago
Repository

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

  1. 01Mongock dependency and runner setup
  2. 02Migration package configuration
  3. 03Code-first @ChangeUnit patterns
  4. 04Locking and idempotency guidance
  5. 05Build and migration verification

Use cases

  1. 01Adding Mongock migrations to Spring Boot
  2. 02Reviewing MongoDB data migrations
  3. 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-mongock

After 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.md
316-frameworks-spring-mongodb-migrations-mongock-parallel-change.md
316-frameworks-spring-mongodb-migrations-mongock.md

Details

From the project README

Spring - 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-package configuration and startup execution
  • Code-first @ChangeUnit migrations with @Execution and 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 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 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

  1. 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.

  1. 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.

  1. Apply framework-aligned migrations

Implement/refactor @ChangeUnit classes with idempotent operations, explicit ordering, rollback hooks, and safe lock/transaction settings.

  1. 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:

Comments

Markdown supported