migrate-validate について
migrate-validateは、データベースに適用する前の保留中マイグレーションを検証するスキルです。スキーマ参照、ロールバック、破壊的操作、冪等性、命名を確認し、問題を重要度と場所とともに報告します。
主な機能
- 01保留中のマイグレーションファイルの特定
- 02外部キーと列のデフォルト値の確認
- 03ロールバックの網羅性確認
- 04破壊的操作の警告
- 05冪等性と命名規則の確認
- 06重要度と場所を添えた問題報告
活用シーン
- 01適用前のマイグレーション確認
- 02ロールバック文の不足検出
- 03安全でないスキーマ変更の特定
MCP 対応
RufloのMCP memoryツールで適用済みの履歴を調べ、検証パターンや結果を保存します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill migrate-validateインストール後、Claude Code で/migrate-validateを入力して読み込まれたか確認します。
詳細
移行の検証
保留中のデータベース移行をすべて検証し、正確性、安全性、ベストプラクティスへの準拠を確認します。
使用する場面
移行を適用する前に、問題を早期に発見するために使用します。たとえば、存在しないテーブルへの外部キー参照、ロールバック SQL の不足、安全策のない破壊的操作、命名規則違反などです。
手順
- 保留中の移行を探す --
Globを使ってすべての移行ファイルを一覧表示し、mcp__plugin_ruflo-core_ruflo__memory_search --namespace migrations(またはmemory_list)で適用済み履歴と照合して、保留中のものを特定します。memory_*ツールファミリーは名前空間に基づいてルーティングされます。agentdb_hierarchical-*はそうではなく、階層に基づいてルーティングされるため、ここではmemory_*を使用してください。 - SQL を解析する --
Readを使って、保留中の各.up.sqlファイルと.down.sqlファイルを読み込み、SQL ステートメントを解析します。 - 外部キーを確認する -- すべての REFERENCES の参照先が、現在のスキーマまたは過去の移行(適用済みと保留中の両方)に存在することを確認します。
- NOT NULL のデフォルト値を確認する -- NOT NULL を指定する ADD COLUMN に DEFAULT 値があることを確認します。
- ロールバックの完全性を確認する -- UP ファイルのすべての CREATE/ALTER に対応する DROP/ALTER が DOWN ファイルにあることを確認します。
- 破壊的な操作に警告する -- 明示的な確認がない場合は、DROP TABLE、DROP COLUMN、TRUNCATE に警告します。
- 冪等性を確認する -- 安全のため、IF EXISTS/IF NOT EXISTS が使われていることを確認します。
- 命名を確認する -- テーブル名が複数形であること、カラム名が snake_case であること、インデックス名が
idx_table_columnの規則に従っていることを確認します。 - 検証パターンを保存する -- ruflo-cost-tracker ADR-0001 のデュアルパスパターンに沿った 2 つの方法があります。
- パターンストア(型指定あり、推奨):
type: 'migration-validation'を指定してmcp__plugin_ruflo-core_ruflo__agentdb_pattern-storeを使用します。名前空間の引数は不要です。ReasoningBank がルーティングします。 - プレーンストア(名前空間でルーティング可能):特定の移行番号に関連付けた検証結果には、
mcp__plugin_ruflo-core_ruflo__memory_store --namespace migrationsを使用します。
- パターンストア(型指定あり、推奨):
- 報告する -- 各問題についてファイルパスと行番号を添えて、エラー(修正必須)、警告(修正推奨)、情報(提案)を表示します。
CLI の代替方法
npx @claude-flow/cli@latest memory search --query "migration validation results" --namespace migrations
コメント
Markdown 対応