name: schema-comparator description: 比较源环境和目标环境之间的数据库模式,用于迁移规划 allowed-tools: [“Bash”, “Read”, “Write”, “Grep”, “Glob”, “Edit”]
模式比较器技能
比较源环境和目标环境之间的数据库模式,以识别差异并生成迁移脚本。
目的
为以下方面实现数据库迁移规划:
- 模式差异生成
- 数据类型映射
- 约束比较
- 索引分析
- 迁移脚本生成
能力
1. 模式差异生成
- 比较表结构
- 识别列差异
- 检测缺失对象
- 生成变更报告
2. 数据类型映射
- 跨数据库映射类型
- 处理类型转换
- 识别精度变化
- 记录兼容性
3. 约束比较
- 比较主键
- 分析外键
- 检查唯一约束
- 验证检查约束
4. 索引分析
- 比较索引定义
- 识别缺失索引
- 分析索引使用情况
- 推荐优化方案
5. 存储过程比较
- 比较过程签名
- 识别逻辑差异
- 检测参数变化
- 标记已弃用的过程
6. 迁移脚本生成
- 生成DDL脚本
- 创建回滚脚本
- 处理依赖关系
- 正确排序变更
工具集成
| 工具 | 数据库 | 集成方法 |
|---|---|---|
| Flyway | 多数据库 | CLI |
| Liquibase | 多数据库 | CLI |
| Redgate SQL Compare | SQL Server | CLI |
| SchemaHero | Kubernetes | CLI |
| pgdiff | PostgreSQL | CLI |
| mysqldiff | MySQL | CLI |
输出模式
{
"comparisonId": "string",
"timestamp": "ISO8601",
"source": {
"type": "string",
"connection": "string"
},
"target": {
"type": "string",
"connection": "string"
},
"differences": {
"tables": {
"added": [],
"removed": [],
"modified": []
},
"columns": [],
"constraints": [],
"indexes": [],
"procedures": []
},
"migration": {
"scripts": [],
"order": [],
"rollback": []
}
}
与迁移流程的集成
- database-schema-migration: 主要比较工具
- data-format-migration: 模式分析
相关技能
data-migration-validator: 迁移后验证query-translator: SQL转换
相关代理
database-migration-orchestrator: 用于规划data-architect-agent: 模式设计审查