1. 基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 名称 | scaffolding-oracle-to-postgres-migration-test-project | — |
| 作者/维护者 | GitHub(github/awesome-copilot 仓库) |
GitHub API |
| 来源链接 | https://github.com/github/awesome-copilot/tree/main/skills/scaffolding-oracle-to-postgres-migration-test-project | — |
| 许可证 | MIT | GitHub API |
| GitHub Stars | 39,097(合集仓库整体,非本技能个体数据) | GitHub API |
| Forks | 4,960(合集仓库整体) | GitHub API |
| 最新版本 | 无独立版本号;仓库持续滚动更新,本技能文件最近一次改动 2026-08-11 | GitHub API(commits) |
| 安装方式 | 直接复制目录,或通过 Copilot 插件市场安装 | 见第 10 章 |
2. 功能介绍与亮点
这是一套面向 .NET 项目的 Oracle→PostgreSQL 数据库迁移工作流中的“测试脚手架”技能。核心能力:
- 读取目标项目配置:解析目标
.csproj,确定 .NET 版本与既有包引用,脚手架版本严格对齐,不擅自升级。 - 创建 xUnit 测试项目:生成与被测项目同版本的测试工程,添加 Oracle 连接依赖(
Oracle.ManagedDataAccess.Core)与 xUnit 包,仅引用目标项目本身,并配好appsettings.json。 - 事务回滚基类:实现“测试前开事务、测试后回滚”的基类,统一捕获异常保证回滚执行,供下游所有测试类继承。
- 种子数据管理器:提供事务作用域内的测试数据加载能力,明确不落盘、不使用
TRUNCATE TABLE,为后续测试用例约定统一的种子文件命名规则。 - 编译验证:最后一步强制构建并确认零错误才算完成。
主要亮点:官方(GitHub)出品、完全开源可审计、纯文本/脚手架生成类技能,不涉及外部网络请求或第三方服务依赖;明确限定只在迁移流水线 Phase 3 使用,避免误触发覆盖 Phase 6 产出。
3. 适用场景
所属分类:工程效率与代码质量
适用于正在执行 .NET 项目 Oracle→PostgreSQL 数据库迁移、需要在编写 Oracle 基线集成测试之前先搭好可编译测试工程骨架的开发团队。它是同系列迁移工作流中承上启下的一步:上游依赖迁移清单确定“这个项目要迁移”,下游为编写具体 Oracle 基线测试用例提供事务管理与种子数据基础设施。
4. 跨 Agent 兼容性
| Agent | 结论 | 依据 |
|---|---|---|
| Claude Code | 原生支持 | 标准 SKILL.md(YAML frontmatter + Markdown 正文),无外部依赖、无网络请求、无代码执行,符合 Agent Skills 通用规范 |
| Codex | 原生支持 | 纯文本指令与项目文件读取/生成,不涉及联网,不受沙箱断网限制 |
| OpenClaw | 未验证 | 未找到该平台的直接安装记录,但技能本身不含平台专有语法,理论上可直接迁移 |
| Hermes Agent | 未验证 | 同上,未找到具体验证来源 |
5. 推荐理由
数据库迁移项目里,“先把测试骨架搭对”往往决定后续测试能不能稳定跑——事务回滚没做对会污染数据库,种子数据管理混乱会让测试互相干扰。这个技能把这套基础设施标准化:一次生成事务回滚基类与种子数据管理器,并强制编译验证零错误才算完工,省去团队每个项目手写一遍同样的样板代码。技能本身是文件读取与生成逻辑,无外部依赖,风险面很小,适合作为迁移测试环节的第一个动作直接上手。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | GitHub 官方出品;所属合集仓库 39,097 星,该数字属整个合集,不代表本技能自身热度;本技能自身暂无独立于合集之外的第三方讨论或采用数据 |
| 可用性 | 8 | 触发即用、无需 API Key 或付费依赖,五步流程(检查→建项目→事务基类→种子管理→编译验证)清晰;文件近一次更新为 2026-08-11,维护活跃;需要工作区内已存在目标 .csproj 项目作为输入,属该场景本身固有的前置条件 |
| 安全性 | 9 | 纯文件读取(解析 .csproj)与项目/代码生成,无外部网络请求,无需任何凭据;仓库 License 明确(MIT);未发现可疑指令或混淆内容 |
综合评分:8.0(三项均值)
安全检查清单:① 无 shell 命令执行,仅文件读取与 xUnit 测试工程生成 ② 运行时不联网外发数据 ③ 不涉及 API Key/凭据(Oracle 连接串来自本地 appsettings.json,非本技能索取) ④ SKILL.md 正文未发现可疑指令或 prompt injection 迹象 ⑤ 作者为 GitHub 官方账号,信誉无造假迹象 ⑥ License 明确(MIT) ⑦ 最近维护时间为 2026-08-11,属近期维护
7. 跟同类 Skills 相比的优势
| 技能 | 定位 | 与本技能的差异 |
|---|---|---|
| creating-oracle-to-postgres-master-migration-plan | 生成迁移项目清单与顺序规划 | 服务于迁移启动阶段,不涉及测试工程搭建 |
| reviewing-oracle-to-postgres-migration | 核对迁移风险、按已知行为差异验证迁移结果 | 用于迁移执行之后的复核阶段,假定测试基础设施已存在 |
| creating-oracle-to-postgres-migration-bug-report | 撰写迁移过程中发现的缺陷报告 | 服务于问题记录环节,不生成任何测试代码 |
| flyway-migrations(Spring Boot 生态) | 编写/审查 Flyway 数据库 schema 迁移脚本 | 针对 Java/Spring Boot 技术栈的迁移脚本编写规范,不涉及 .NET 侧测试工程脚手架 |
| db-oracle-skills(Oracle 官方) | 面向 DBA/开发者的 Oracle SQL/PLSQL 调优与安全审查参考 | 聚焦 Oracle 侧查询调优,不涉及跨数据库迁移的测试基础设施搭建 |
本技能的差异化在于:上表所列同类技能均聚焦迁移流程的规划、复核或问题记录环节,没有一个专门解决“如何搭建一个可编译、带事务回滚与种子数据管理的测试工程骨架”这一具体工程问题;本技能的输出直接为同系列下游的测试用例编写技能提供可复用基础设施。
8. 用户评价
该技能目前在第三方平台尚无具名用户评价。
9. 其他补充
该技能属于 GitHub 官方“Oracle-to-PostgreSQL Migration”技能家族的一部分,家族内另有面向迁移规划、存储过程迁移、数据访问代码迁移、集成测试用例生成、风险复核、缺陷报告等多个技能,覆盖迁移全流程的不同阶段,可按需组合使用。
10. 安装使用方式
方式一:直接复制
将 skills/scaffolding-oracle-to-postgres-migration-test-project/SKILL.md 复制到你的 agent 的 skills 目录下(如 Claude Code 的 .claude/skills/scaffolding-oracle-to-postgres-migration-test-project/)。
方式二:通过 Copilot 插件市场(适用于 GitHub Copilot CLI/VS Code 用户):
copilot plugin marketplace add github/awesome-copilot
copilot plugin install scaffolding-oracle-to-postgres-migration-test-project@awesome-copilot
安装后无需重启,在对话中提出“为这个项目搭建 Oracle 集成测试工程骨架”或“给这个 .NET 项目生成事务回滚的 xUnit 测试基础设施”即可触发;技能本身不需要任何额外配置或密钥,但运行时需要目标项目已配置好 Oracle 连接信息。
11. 注意事项
- 需要工作区内存在目标
.csproj项目作为输入;纯脚本/非 .NET 项目不适用。 - 明确只在迁移流水线 Phase 3 使用;Phase 6 的 PostgreSQL 测试项目应通过迁移本项目产出得到,而非重新运行本技能。
- 输出是空的测试工程基础设施,不含任何测试用例,需配合同系列的测试用例生成技能补充实际断言逻辑。
- 跨 Agent 兼容性中 OpenClaw、Hermes Agent 尚未找到直接验证来源,实际使用前建议先行小范围测试。