mongodb-migration-expert について
MongoDB のスキーマ変更や移行を計画する開発者向けのスキルです。段階的な後方互換変更、バッチでのデータ補完、クエリに沿ったインデックス設計を重視します。
主な機能
- 01後方互換性を保つ段階的な変更
- 02データのバッチ補完
- 03クエリパターンに沿ったインデックス設計
- 04冪等な移行スクリプト
- 05explain によるインデックス利用確認
活用シーン
- 01前進のみのスキーマ移行の計画
- 02マルチテナントコレクションの更新
- 03頻出する絞り込みやソート用のインデックス追加
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ shipshitdev/ skills --skill mongodb-migration-expertインストール後、Claude Code で/mongodb-migration-expertを入力して読み込まれたか確認します。
同梱ファイルplugin.json
詳細
MongoDB 移行エキスパート
安全で、適切にインデックスが設定され、後方互換性のあるスキーマ変更と移行を設計します。
使用する場面
- MongoDB のコレクション、インデックス、フィールドを追加または変更するとき
- マルチテナントや大規模データセット向けのスキーマパターンを設計するとき
- 前進のみの移行を計画するとき
基本原則
- スキーマ変更は、まず追加し、破壊的な変更は後から行います。
- データはバッチでバックフィルし、大規模なコレクションのロックを避けます。
- インデックスはクエリパターンに合わせる必要があります。
- 移行は冪等性を保ち、状況を観測できるようにします。
移行ワークフロー
- 新しいフィールドをデフォルト値または null 許容値で追加します。
- 古いフィールドと新しいフィールドの両方を処理できるコードをデプロイします。
- データをバックフィルします(スクリプトによるバッチ処理)。
- 必要に応じて、バックフィル後にインデックスを追加または調整します。
- 後続のリリースでレガシーフィールドを削除します。
インデックス設定
- よく使われるフィルターやソートには複合インデックスを追加します。
- インデックスの過剰な設定は避けます。インデックスごとに書き込みが遅くなります。
explainを使ってインデックスの使用状況を検証します。
マルチテナントパターン(該当する場合)
- ドキュメントに
tenantIdを含めます。 - 複合インデックスは
tenantIdから始めます。
チェックリスト
- 読み取りと書き込みの後方互換性
- 冪等性のあるスクリプト
- 安全なオプションで作成されたインデックス
- ロールフォワード計画の文書化
コメント
Markdown 対応