mcpField
R
reviewing-oracle-to-postgres-migration

reviewing-oracle-to-postgres-migration

github.com/githubデータ・データベース40.5k1.8k 回インストール今日更新
リポジトリ

reviewing-oracle-to-postgres-migration について

Oracle から PostgreSQL への移行について、実施前のリスク評価と完了後の変更検証を行うスキルです。記録された動作差を基に、リスク、テスト範囲、完了条件を確認します。

主な機能

  1. 01移行範囲と関連リスクの評価
  2. 02索引付きの動作差リファレンスを参照
  3. 03該当する差異への対応策を提示
  4. 04リファレンスに照らして移行内容を確認
  5. 05統合テスト範囲を検証し完了を判定

活用シーン

  1. 01プロシージャ、トリガー、クエリ移行の計画
  2. 02refcursor クライアント移行リスクの確認
  3. 03移行後の PostgreSQL の動作検証
  4. 04障害シナリオや境界条件のテスト確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/github/awesome-copilot --skill reviewing-oracle-to-postgres-migration

インストール後、Claude Code で/reviewing-oracle-to-postgres-migrationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
empty-strings-handling.md
no-data-found-exceptions.md
oracle-nvl-decode-functions.md
oracle-parentheses-from-clause.md
oracle-rownum-pagination.md
oracle-sysdate-sequences-dual.md
oracle-to-postgres-sorting.md
oracle-to-postgres-timestamp-timezone.md
oracle-to-postgres-to-char-numeric.md
oracle-to-postgres-type-coercion.md
postgres-concurrent-transactions.md
postgres-materialized-view-refresh.md
postgres-refcursor-handling.md
postgres-union-all-planner.md
REFERENCE.md

詳細

Oracle-to-PostgreSQL データベース移行

references/ フォルダーに記載された、Oracle と PostgreSQL の既知の動作の違いに基づいて、移行リスクを明らかにし、移行作業を検証します。

使用するタイミング

  1. 計画時 — プロシージャ、トリガー、クエリ、または refcursor クライアントの移行作業を始める前に使用します。該当するリファレンスの知見を特定し、リスクに事前に対処します。
  2. 検証時 — 移行作業の完了後に使用します。該当するすべての知見に対処したこと、および PostgreSQL の新しいセマンティクスをインテグレーションテストで確認していることを検証します。

ワークフロー

タスクの種類を判断します。

移行を計画していますか? リスク評価ワークフローに従います。 完了した作業を検証しますか? 検証ワークフローに従います。

リスク評価ワークフロー(計画)
Risk Assessment:
- [ ] Step 1: Identify the migration scope
- [ ] Step 2: Screen each insight for applicability
- [ ] Step 3: Document risks and recommended actions

ステップ 1:移行範囲を特定する

影響を受けるデータベースオブジェクト(プロシージャ、トリガー、クエリ、ビュー)と、それらを呼び出すアプリケーションコードを列挙します。

ステップ 2:各知見の該当性を確認する

references/REFERENCE.md のリファレンスインデックスを確認します。各項目について、移行範囲にその知見の影響を受けるパターンが含まれているか判断します。知見が関連する可能性がある場合に限り、リファレンスファイル全体を読みます。

ステップ 3:リスクと推奨される対応を記録する

該当する知見ごとに、具体的なリスクとリファレンスファイルに記載された推奨修正パターンを記録します。設計上の判断が必要な知見(例:Oracle の空文字列を NULL として扱うセマンティクスを維持するか、PostgreSQL の動作を採用するか)にはフラグを付けます。

検証ワークフロー(移行後)
Validation:
- [ ] Step 1: Map the migration artifact
- [ ] Step 2: Cross-check applicable insights
- [ ] Step 3: Verify integration test coverage
- [ ] Step 4: Gate the result

ステップ 1:移行成果物を対応付ける

移行されたオブジェクトを特定し、変更内容を要約します。

ステップ 2:該当する知見と照合する

references/REFERENCE.md の各リファレンスについて、その動作またはテスト要件が移行作業で認識され、対処されていることを確認します。

ステップ 3:インテグレーションテストの網羅性を確認する

該当する知見で取り上げられた正常系と失敗シナリオ(例外、ソート、UNION ALL の動作やパフォーマンス上のリスク、refcursor の消費、並行トランザクション、タイムスタンプ、マテリアライズドビューの鮮度など)の両方をテストで検証していることを確認します。

ステップ 4:結果を判定する

該当する各知見への対処、移行スクリプトの実行、インテグレーションテストの合格を確認するチェックリストを返します。

コメント