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

316-frameworks-spring-mongodb-migrations-mongock

github.com/jabrenaデータ・データベース456198 回インストール1 日前に更新
リポジトリ

316-frameworks-spring-mongodb-migrations-mongock について

Mongock を利用する Spring Boot および Spring Data MongoDB プロジェクトの保守チーム向けスキルです。依存関係の互換性、安全な変更単位、変更前後のビルド検証を重視して、移行の設定とレビューを支援します。

主な機能

  1. 01Mongock の依存関係とランナー設定
  2. 02移行スキャンパッケージの設定
  3. 03コードベースの @ChangeUnit パターン
  4. 04ロックと冪等性の指針
  5. 05ビルドと移行の検証

活用シーン

  1. 01Spring Boot への Mongock 移行の追加
  2. 02MongoDB データ移行のレビュー
  3. 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.md
316-frameworks-spring-mongodb-migrations-mongock-parallel-change.md
316-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 マイグレーション順序をレビューする

ワークフロー

  1. リファレンスを読み、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 の永続化パターンを調査します。

  1. ランナー、ドライバー、実行ポリシーを選択する

有効な Spring Data MongoDB の世代と互換性のある Mongock の依存関係を選択し、マイグレーションのスキャン対象パッケージを設定して、起動時に実行するか、制御されたジョブで実行するかを決定します。

  1. フレームワークに沿ったマイグレーションを適用する

冪等な操作、明示的な順序付け、ロールバックフック、安全なロックおよびトランザクション設定を備えた @ChangeUnit クラスを実装またはリファクタリングします。

  1. 検証を実行し、結果を報告する

ビルドとテストを実行します。MongoDB ベースのマイグレーション検証は、プロジェクトで承認済みの MongoDB テストランタイムがすでに定義されている場合、またはユーザーが固定済みのコンテナーイメージを明示的に承認した場合に限り実行します。汎用の @SpringBootTest スモークテストで MongoDB が利用できない場合は、そのテストに限って mongock.enabled=false を設定し、Mongock を無効にします。結果と今後のリスクを要約します。

リファレンス

詳細なガイダンス、例、制約事項については、以下を参照してください。

コメント