416-frameworks-quarkus-mongodb-migrations-mongock

Use when you need to add or review Mongock MongoDB data migrations in a Quarkus application — including the Quarkiverse Mongock extension, Quarkus MongoDB client configuration, migrate-at-start, @ChangeUnit classes, lock/transaction settings, and Quarkus test verification. This should trigger for requests such as Add Mongock migrations in Quarkus; Configure quarkus-mongock; Review Quarkus MongoDB data migrations; Create Mongock change units for Quarkus MongoDB; Review Mongock migration ordering in a Quarkus service. Part of Plinth Toolkit

jabrena/plinth105 installsApache-2.0Synced Aug 22

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI
---
name: 416-frameworks-quarkus-mongodb-migrations-mongock
description: Use when you need to add or review Mongock MongoDB data migrations in a Quarkus application — including the Quarkiverse Mongock extension, Quarkus MongoDB client configuration, migrate-at-start, @ChangeUnit classes, lock/transaction settings, and Quarkus test verification. This should trigger for requests such as Add Mongock migrations in Quarkus; Configure quarkus-mongock; Review Quarkus MongoDB data migrations; Create Mongock change units for Quarkus MongoDB; Review Mongock migration ordering in a Quarkus service. Part of Plinth Toolkit
license: Apache-2.0
---

# Quarkus - MongoDB migrations (Mongock)

Apply Mongock migration guidelines for Quarkus and Quarkus MongoDB client/Panache Mongo.

**What is covered in this Skill?**

- Quarkiverse `quarkus-mongock` extension and Quarkus MongoDB client setup
- `quarkus.mongock.*` configuration, including `migrate-at-start`
- Code-first `@ChangeUnit` migrations with `@Execution` and rollback hooks
- Locking, idempotency, transaction limits, and default-client constraints
- Quarkus tests with Dev Services or Testcontainers MongoDB
- Coordination with `@415-frameworks-quarkus-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
- **EXTENSION COMPATIBILITY**: Before adding `quarkus-mongock`, verify the latest Quarkiverse Mongock release and Quarkus extension catalog compatibility with the active Quarkus platform. If the latest extension targets a significantly older Quarkus version, stop and document the incompatibility instead of applying changes.
- **EDGE CASE**: If the application uses multiple MongoDB clients, verify Quarkiverse Mongock support before applying a default-client migration design

## When to use this skill

- Add Mongock migrations in Quarkus
- Configure quarkus-mongock
- Review Quarkus MongoDB data migrations
- Create Mongock change units for Quarkus MongoDB
- Review Mongock migration ordering in a Quarkus service

## Workflow

1. **Read references and inspect MongoDB setup**

Read `references/416-frameworks-quarkus-mongodb-migrations-mongock.md`, `references/416-frameworks-quarkus-mongodb-migrations-mongock-antipatterns.md`, and `references/416-frameworks-quarkus-mongodb-migrations-mongock-parallel-change.md`, then inspect `pom.xml`, Quarkus MongoDB configuration, and existing `@415-frameworks-quarkus-mongodb` persistence patterns.

2. **Verify extension compatibility and execution policy**

Verify the Quarkiverse `quarkus-mongock` release and Quarkus extension catalog compatibility before configuring MongoDB connection settings, migration scan behavior, and startup vs explicit `MongockFactory` execution.

3. **Apply framework-aligned migrations**

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

4. **Run verification and report results**

Execute build/tests, including Quarkus tests with Dev Services or Testcontainers MongoDB where feasible, and summarize outcomes and follow-up risks.

## Reference

For detailed guidance, examples, and constraints, see:

- [references/416-frameworks-quarkus-mongodb-migrations-mongock.md](references/416-frameworks-quarkus-mongodb-migrations-mongock.md)
- [references/416-frameworks-quarkus-mongodb-migrations-mongock-antipatterns.md](references/416-frameworks-quarkus-mongodb-migrations-mongock-antipatterns.md)
- [references/416-frameworks-quarkus-mongodb-migrations-mongock-parallel-change.md](references/416-frameworks-quarkus-mongodb-migrations-mongock-parallel-change.md)

More Database skills

supabase-postgres-best-practices

supabase/agent-skills

Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pg_cron, pgmq), vector/semantic search (pgvector), and restoring dumps (pg_restore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.

372.5k

prisma-database-setup

prisma/skills

Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.). Use when setting up a new project, changing databases, or troubleshooting connection issues. Triggers on "configure postgres", "connect to mysql", "setup mongodb", "sqlite setup".

241.5k

prisma-postgres

prisma/skills

Prisma Postgres setup and operations guidance across Console, create-db CLI, Management API, and Management API SDK. Use when creating Prisma Postgres databases, working in Prisma Console, provisioning with create-db/create-pg/create-postgres, or integrating programmatic provisioning with service tokens or OAuth.

235.0k

← All Database skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free · No signup · No trial clock

SEE THE DIRECTORY