Agent Skills
返回列表
🔒

数据库迁移验证器

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/database-migration-validator-skillhub。

技能介绍

数据库迁移中的隐藏风险

执行数据库迁移时,三个问题最容易引发故障。首先是长时间运行的锁:迁移期间的锁可能持续阻塞写操作,直接拖慢业务响应。其次是外键上的缺失索引:当外键列缺少索引时,关联查询会因全表扫描而变慢,尤其在数据量增长后更明显。最后是向后不兼容的列更改:比如修改列类型或删除约束,可能导致依赖该结构的旧应用报错。

技能如何验证迁移安全性

该技能结合两个核心工具来降低迁移风险。首先是用 pg_stat_statements 分析数据库的查询统计,通过 pg_stat_statements 提供的执行时间、锁等待等数据,定位可能长时间运行的语句或锁争用点。其次是借助 pt-online-schema-change 的试运行模式:在不实际执行变更的情况下,模拟 pt-online-schema-change 对表结构的修改流程,提前暴露出潜在的索引缺失或不兼容问题,比如模拟过程中若发现外键列无索引,会直接反馈风险。

适用边界与注意事项

该技能适用于需要执行 PostgreSQL 或 MySQL 迁移的运维场景,尤其适合对迁移安全性要求较高的环境。但需注意:由于该技能依赖 pg_stat_statements 和 pt-online-schema-change 的具体实现,使用前需确认目标数据库已正确安装这些工具。此外,在核心业务迁移这类敏感操作中,建议先通过上游项目文档核对工具的使用细节,避免因环境差异导致误判。

使用场景

  • 在执行 PostgreSQL 生产环境迁移前,需验证变更是否会引发长锁阻塞业务写入
  • 计划修改 MySQL 表结构前,想通过试运行确认外键列是否缺少索引影响关联查询
  • 准备删除或修改数据库列约束时,担心变更导致旧应用报错需要提前排查

适合人员

  • 数据库运维工程师:负责生产环境迁移,需提前发现锁争用与索引问题避免业务中断
  • 后端开发工程师:设计表结构变更时,需确认修改是否向后兼容防止旧服务异常
  • 数据平台负责人:管理多套数据库集群迁移,需工具验证变更风险保障数据一致性