creating-oracle-to-postgres-master-migration-plan by github/awesome-copilot
npx skills add https://github.com/github/awesome-copilot --skill creating-oracle-to-postgres-master-migration-plan分析 .NET 解决方案,为每个项目分类以确定 Oracle→PostgreSQL 迁移资格,并编写一份可供下游代理和技能解析的结构化计划。
进度:
- [ ] 步骤 1:发现解决方案中的项目
- [ ] 步骤 2:对每个项目进行分类
- [ ] 步骤 3:与用户确认
- [ ] 步骤 4:编写计划文件
步骤 1:发现项目
在工作区根目录中查找解决方案文件(扩展名为 .sln 或 .slnx)(如果存在多个,请询问用户)。解析它以提取所有 .csproj 项目引用。对于每个项目,记录其名称、路径和类型(类库、Web API、控制台、测试等)。
步骤 2:对每个项目进行分类
扫描每个非测试项目以查找 Oracle 指标:
Oracle.ManagedDataAccess、Oracle.EntityFrameworkCore(检查 .csproj 和 )广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
packages.configappsettings.json、web.config、app.config 中的 Oracle 连接字符串OracleConnection、OracleCommand、OracleDataReader.github/oracle-to-postgres-migration/DDL/Oracle/ 下的 DDL 交叉引用(如果存在)为每个项目分配一个分类:
| 分类 | 含义 |
|---|---|
| MIGRATE | 具有需要转换的 Oracle 交互 |
| SKIP | 无 Oracle 指标(仅 UI、共享工具等) |
| ALREADY_MIGRATED | 存在 -postgres 或 .Postgres 重复项且似乎已处理 |
| TEST_PROJECT | 测试项目;由测试工作流程处理 |
步骤 3:与用户确认
展示分类列表。在最终确定之前,让用户调整分类或迁移顺序。
步骤 4:编写计划文件
保存到:.github/oracle-to-postgres-migration/Reports/Master Migration Plan.md
使用此确切模板 — 下游使用者依赖此结构:
# 主迁移计划
**解决方案:** {解决方案文件名}
**解决方案根目录:** {REPOSITORY_ROOT}
**创建时间:** {时间戳}
**最后更新时间:** {时间戳}
## 解决方案摘要
| 指标 | 数量 |
|--------|-------|
| 解决方案中的项目总数 | {n} |
| 需要迁移的项目 | {n} |
| 已迁移的项目 | {n} |
| 跳过的项目(无 Oracle 使用) | {n} |
| 测试项目(单独处理) | {n} |
## 项目清单
| # | 项目名称 | 路径 | 分类 | 备注 |
|---|---|---|---|---|
| 1 | {名称} | {相对路径} | MIGRATE | {备注} |
| 2 | {名称} | {相对路径} | SKIP | 无 Oracle 依赖项 |
## 迁移顺序
1. **{项目名称}** — {理由,例如:"核心数据访问库;其他项目依赖它。"}
2. **{项目名称}** — {理由}
对项目进行排序,以便共享/基础库在其依赖项之前迁移。
每周安装次数
452
代码仓库
GitHub 星标数
26.7K
首次出现
13 天前
安全审计
安装在
gemini-cli399
codex398
opencode388
cursor385
github-copilot382
amp381
Analyze a .NET solution, classify every project for Oracle→PostgreSQL migration eligibility, and write a structured plan that downstream agents and skills can parse.
Progress:
- [ ] Step 1: Discover projects in the solution
- [ ] Step 2: Classify each project
- [ ] Step 3: Confirm with user
- [ ] Step 4: Write the plan file
Step 1: Discover projects
Find the Solution File (it has a .sln or .slnx extension) in the workspace root (ask the user if multiple exist). Parse it to extract all .csproj project references. For each project, note the name, path, and type (class library, web API, console, test, etc.).
Step 2: Classify each project
Scan every non-test project for Oracle indicators:
Oracle.ManagedDataAccess, Oracle.EntityFrameworkCore (check .csproj and packages.config)appsettings.json, web.config, app.configOracleConnection, OracleCommand, OracleDataReader.github/oracle-to-postgres-migration/DDL/Oracle/ (if present)Assign one classification per project:
| Classification | Meaning |
|---|---|
| MIGRATE | Has Oracle interactions requiring conversion |
| SKIP | No Oracle indicators (UI-only, shared utility, etc.) |
| ALREADY_MIGRATED | A -postgres or .Postgres duplicate exists and appears processed |
| TEST_PROJECT | Test project; handled by the testing workflow |
Step 3: Confirm with user
Present the classified list. Let the user adjust classifications or migration ordering before finalizing.
Step 4: Write the plan file
Save to: .github/oracle-to-postgres-migration/Reports/Master Migration Plan.md
Use this exact template — downstream consumers depend on the structure:
# Master Migration Plan
**Solution:** {solution file name}
**Solution Root:** {REPOSITORY_ROOT}
**Created:** {timestamp}
**Last Updated:** {timestamp}
## 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}
Order projects so that shared/foundational libraries are migrated before their dependents.
Weekly Installs
452
Repository
GitHub Stars
26.7K
First Seen
13 days ago
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
gemini-cli399
codex398
opencode388
cursor385
github-copilot382
amp381