用途
该技能用于对数据库模式(schema)进行比较,并基于差异生成迁移脚本和回滚流程,帮助在不同环境之间保持数据库模式同步。它通过 database-diff-tool 插件实现,面向需要管理数据库模式变更的场景。
主要能力
- 模式比较:比较两个指定数据库(PostgreSQL 或 MySQL)的模式,识别表、列、索引、约束和触发器方面的差异。
- 迁移脚本生成:根据模式差异生成安全的迁移脚本,用于更新目标数据库模式,脚本包含事务安全机制以防止数据损坏。
- 回滚流程生成:生成回滚流程,用于在出错时撤销迁移脚本所做的更改。
使用方式
该技能在以下情况触发:
- 比较不同环境(如开发、预发布、生产)之间的数据库模式。
- 生成迁移脚本以将数据库模式更新到最新版本。
- 创建回滚流程以撤销数据库模式更改。
- 跨多个环境同步数据库模式以确保一致性。
示例一:生成迁移脚本。用户请求“生成一个迁移脚本,使预发布数据库模式与生产环境一致”。技能将连接预发布和生产数据库,使用 database-diff-tool 插件比较两者模式,并生成一个使预发布数据库模式与生产模式一致的迁移脚本,包含事务安全和回滚流程。
示例二:比较数据库模式。用户请求“比较开发和测试环境的数据库模式”。技能将连接开发和测试数据库,使用 database-diff-tool 插件比较两者模式,并报告差异,包括缺失的表、列、索引或约束。
适用场景
适用于需要在开发、测试、预发布、生产等多个环境之间同步数据库模式、生成迁移脚本或创建回滚流程的数据库管理任务。可与其他 CI/CD 工具集成,实现数据库迁移流程自动化,也可与其他数据库管理工具配合,监控数据库模式变更并确保数据完整性。
限制与注意事项
- 数据库凭据:需确保 Claude 能访问连接被比较数据库所需的凭据。
- 备份:运行任何迁移脚本前应始终备份数据库。
- 验证:在部署到生产环境之前,应在测试环境中验证生成的迁移脚本。
- 支持的数据库类型为 PostgreSQL 和 MySQL。
- 关于收费、价格、平台等具体信息暂未提供。