mcpField
C
creating-oracle-to-postgres-master-migration-plan

creating-oracle-to-postgres-master-migration-plan

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

creating-oracle-to-postgres-master-migration-plan について

.NET ソリューションを分析し、Oracle から PostgreSQL への移行対象をプロジェクトごとに分類して、後続の処理が読み取れる計画を作成するスキルです。依存関係と移行順序の整理に役立ちます。

主な機能

  1. 01ソリューション内のプロジェクト検出
  2. 02Oracle の指標を調査
  3. 03移行適格性の分類
  4. 04分類と順序の確認
  5. 05構造化された計画ファイルの作成

活用シーン

  1. 01ソリューション内の Oracle プロジェクトの棚卸し
  2. 02移行・対象外・移行済みプロジェクトの分類
  3. 03依存プロジェクトの移行順序の計画

インストール

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

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

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

詳細

Oracle から PostgreSQL へのマスター移行計画の作成

.NET ソリューションを分析し、すべてのプロジェクトについて Oracle から PostgreSQL への移行可否を分類し、後続のエージェントやスキルが解析できる構造化された計画を作成します。

ワークフロー

Progress:
- [ ] Step 1: Discover projects in the solution
- [ ] Step 2: Classify each project
- [ ] Step 3: Confirm with user
- [ ] Step 4: Write the plan file

ステップ 1:プロジェクトを検出する

ワークスペースのルートにあるソリューションファイル(拡張子が .sln または .slnx のファイル)を見つけます。複数ある場合はユーザーに確認してください。ファイルを解析して、すべての .csproj プロジェクト参照を抽出します。各プロジェクトについて、名前、パス、種類(クラスライブラリ、Web API、コンソール、テストなど)を記録します。

ステップ 2:各プロジェクトを分類する

テスト以外のすべてのプロジェクトをスキャンして、Oracle に関する情報を探します。

  • NuGet 参照:Oracle.ManagedDataAccess、Oracle.EntityFrameworkCore(.csproj と packages.config を確認)
  • 設定エントリ:appsettings.json、web.config、app.config 内の Oracle 接続文字列
  • コードの使用状況:OracleConnection、OracleCommand、OracleDataReader
  • .github/oracle-to-postgres-migration/DDL/Oracle/ 配下の DDL 相互参照(存在する場合)

各プロジェクトに、次のいずれかの分類を割り当てます。

分類意味
MIGRATE変換が必要な Oracle 連携があります
SKIPOracle に関する情報はありません(UI のみ、共有ユーティリティなど)
ALREADY_MIGRATED-postgres または .Postgres の重複プロジェクトが存在し、処理済みと思われます
TEST_PROJECTテストプロジェクトです。テストのワークフローで処理します

ステップ 3:ユーザーに確認する

分類済みの一覧を提示します。確定する前に、ユーザーが分類や移行順序を調整できるようにします。

ステップ 4:計画ファイルを作成する

次の場所に保存します:.github/oracle-to-postgres-migration/Reports/MasterMigrationPlan.md

この正確なテンプレートを使用してください。後続のコンシューマーはこの構造に依存します。

# Master Migration Plan

**Solution:** {solution file name}
**Solution Root:** {REPOSITORY_ROOT}
**Created:** {timestamp}
**Last Updated:** {timestamp}

## DDL Artifacts

**Location:** {path to DDL artifacts, e.g., `.github/oracle-to-postgres-migration/DDL/`}
**External tool used:** {Yes / No} — {If Yes, name the tool (e.g., `ora2pg`) and note that Phase 4 (Schema & DDL Migration) can be skipped; PostgreSQL DDL artifacts already exist.}

## Solution Summary

| Metric | Count |
|--------|-------|
| Total projects in solution | {n} |
| Projects requiring migration | {n} |
| Projects already migrated | {n} |
| Projects skipped (no Oracle usage) | {n} |
| Test projects (handled separately) | {n} |

## Project Inventory

| # | Project Name | Path | Classification | Notes |
|---|---|---|---|---|
| 1 | {name} | {relative path} | MIGRATE | {notes} |
| 2 | {name} | {relative path} | SKIP | No Oracle dependencies |

## Migration Order

1. **{ProjectName}** — {rationale, e.g., "Core data access library; other projects depend on it."}
2. **{ProjectName}** — {rationale}

共有ライブラリや基盤ライブラリを、それらに依存するプロジェクトより先に移行する順序にします。

コメント