SuperAPI AI 工具集

db-migration-inception

数据与分析

查看项目

更新于 10-15 17:22

技能介绍

用途:这是 AI-DLC 数据库迁移的 Inception 阶段,输出评估报告与迁移计划,需人工批准后才进入转换。对应 AI-DLC Inception:收集需求、分析、提出计划、停下等待批准。

引擎对:由连接引擎确定 <source>-to-<target>(如 oracle-to-postgresql、sqlserver-to-mysql),替换 <pair>;引擎定义在 engines/<pair>/,知识库在 skills/<pair>-playbook/。

输入:connections.yaml、migration-config.yaml(由编排器解析)、engines/<pair>/engine.yaml、<pair>-playbook。

步骤:1)幂等复检预检:pip install -r scripts/requirements.txt,再运行 python -m dbmig test-connection --side both,记录驱动版本与连通状态到 01-assessment/preflight.md,失败即停止(不使用原生客户端工具,通过 Python 驱动连接)。2)盘点源库:对 migration-config.yaml 中 scope.schemas 的每个 schema 运行 python -m dbmig inventory --schema <SCHEMA> --project <project>,生成 01-assessment/inventory.yaml 与 inventory.json(对象数、表与行数、数据类型、存储代码量),并汇总为 inventory.md 表格。3)兼容性评估:按对象类型与构造查阅 playbook 参考,分类为 Automatic(直接等价、低风险)、Assisted(有已知模式的机械改写)、Manual(需重新设计/人工判断)、Blocked(暂无支持路径,需标记);用 engines/<pair>/datatype-map.yaml 判断数据类型风险,并逐条引用具体参考文件。4)工作量与风险:按类别汇总对象数、存储代码行数、主要风险,以及该引擎对需显式测试的语义差异,见 engines/<pair>/checks/equivalence-spec.md(如空字符串/NULL、日期运算、数值舍入、大小写敏感、IDENTITY/序列处理)。5)迁移计划:写 01-assessment/migration-plan.md,含范围、转换顺序(表→约束/索引→序列→视图→函数→过程/包→触发器,按可独立转换与测试的工作单元分组)、测试方式(数据路径 framework 或 dms 及适用等价性检查)、高层切换方案、待用户决策的开放问题。

门禁:展示 migration-plan.md 与兼容性摘要,停下并询问“Approve the assessment & migration plan?”,不得开始转换;用户要求修改则修订后重新展示。

限制:对源库只读,本阶段不得修改源或目标;须如实呈现 Blocked/Manual 项。