316-frameworks-spring-mongodb-migrations-mongock
316-frameworks-spring-mongodb-migrations-mongock について
Mongock を利用する Spring Boot および Spring Data MongoDB プロジェクトの保守チーム向けスキルです。依存関係の互換性、安全な変更単位、変更前後のビルド検証を重視して、移行の設定とレビューを支援します。
主な機能
- 01Mongock の依存関係とランナー設定
- 02移行スキャンパッケージの設定
- 03コードベースの @ChangeUnit パターン
- 04ロックと冪等性の指針
- 05ビルドと移行の検証
活用シーン
- 01Spring Boot への Mongock 移行の追加
- 02MongoDB データ移行のレビュー
- 03移行順序と互換性の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jabrena/ plinth --skill 316-frameworks-spring-mongodb-migrations-mongockインストール後、Claude Code で/316-frameworks-spring-mongodb-migrations-mongockを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/316-frameworks-spring-mongodb-migrations-mongock-antipatterns.md316-frameworks-spring-mongodb-migrations-mongock-parallel-change.md316-frameworks-spring-mongodb-migrations-mongock.md詳細
Spring - MongoDB マイグレーション(Mongock)
Spring Boot と Spring Data MongoDB 向けの Mongock マイグレーションガイドラインを適用します。
このスキルの対象範囲
- Mongock BOM、Spring Boot ランナー、Spring Data MongoDB ドライバーの依存関係
mongock.migration-scan-packageの設定と起動時の実行@Executionとロールバックフックを使ったコードファーストの@ChangeUnitマイグレーション- ロック、冪等性、トランザクションの制限、前方のみのロールアウト規律
- ユーザーが外部ランタイム依存関係を許可する場合に限り、プロジェクトで承認済み、固定済み、またはすでに利用可能なコンテナーイメージのみを使った任意の MongoDB ベースの統合テスト
@315-frameworks-spring-mongodbとの連携
対象範囲: リファレンスのルールと良い例・悪い例に基づいて推奨事項を適用します。
制約事項
Mongock または MongoDB のマイグレーションを変更する前にコンパイルし、変更後に検証してください。
- 必須:変更を適用する前に
./mvnw compileまたはmvn compileを実行します - 安全性:コンパイルに失敗した場合は、直ちに作業を中止します
- 検証:改善を適用した後に
./mvnw clean verifyまたはmvn clean verifyを実行します - 適用前:詳細なルールと良いパターン・悪いパターンについて、リファレンスを読んでください
- エッジケース:プロジェクトの Spring Data MongoDB バージョンが選択した Mongock ドライバーと互換性がない場合は、作業を中止し、Mongock のバージョンを固定・アップグレードするか、より低い世代のドライバーを使うかを確認してください
- 外部ランタイムの許可条件:ユーザーが明示的に承認し、イメージが固定済み、ポリシーで承認済み、またはすでにプロジェクト設定に含まれている場合を除き、MongoDB の検証のために Docker イメージを取得または実行しないでください
このスキルを使う場面
- Spring Boot に Mongock マイグレーションを追加する
- Spring MongoDB のデータマイグレーションをレビューする
- Spring Data MongoDB 向けに Mongock の変更ユニットを設定する
- Spring Boot MongoDB 向けに Mongock の変更ユニットを作成する
- Spring サービスの Mongock マイグレーション順序をレビューする
ワークフロー
- リファレンスを読み、MongoDB の設定を調査する
references/316-frameworks-spring-mongodb-migrations-mongock.md、references/316-frameworks-spring-mongodb-migrations-mongock-antipatterns.md、references/316-frameworks-spring-mongodb-migrations-mongock-parallel-change.md を読み、pom.xml、Spring Boot のバージョン、依存関係管理、MongoDB の設定、既存のフルコンテキストテスト、既存の @315-frameworks-spring-mongodb の永続化パターンを調査します。
- ランナー、ドライバー、実行ポリシーを選択する
有効な Spring Data MongoDB の世代と互換性のある Mongock の依存関係を選択し、マイグレーションのスキャン対象パッケージを設定して、起動時に実行するか、制御されたジョブで実行するかを決定します。
- フレームワークに沿ったマイグレーションを適用する
冪等な操作、明示的な順序付け、ロールバックフック、安全なロックおよびトランザクション設定を備えた @ChangeUnit クラスを実装またはリファクタリングします。
- 検証を実行し、結果を報告する
ビルドとテストを実行します。MongoDB ベースのマイグレーション検証は、プロジェクトで承認済みの MongoDB テストランタイムがすでに定義されている場合、またはユーザーが固定済みのコンテナーイメージを明示的に承認した場合に限り実行します。汎用の @SpringBootTest スモークテストで MongoDB が利用できない場合は、そのテストに限って mongock.enabled=false を設定し、Mongock を無効にします。結果と今後のリスクを要約します。
リファレンス
詳細なガイダンス、例、制約事項については、以下を参照してください。