SQL 数据库迁移与零停机部署
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/database-migrations-sql-migrations。
技能介绍
要解决什么问题
线上改表、加列、拆库或换类型时,最怕的是长时间锁表、数据不一致,以及出问题后无法安全回滚。本技能面向 PostgreSQL、MySQL、SQL Server 等关系型库,把迁移当成可重复、可验证的生产变更,而不是一次性手工 SQL。
技能如何工作
在明确目标、约束和输入(如 $ARGUMENTS 中的需求)后,会按生产级最佳实践组织输出,典型结构包括:
- 迁移分析报告:把 schema/数据变更拆成可审查的步骤
- 零停机方案:如 expand-contract、蓝绿或读写分离下的分阶段切换
- 版本化迁移脚本:与 Flyway、Liquibase 等框架思路一致的 SQL 与顺序
- 验证套件:迁移前后行数、约束、抽样与关键业务不变量检查
- 回滚流程:自动化脚本与必要时的人工步骤
- 性能与监控:大批量
batch、可并行段、进度与告警
需要更细的 DDL 模式与示例时,会引导参考 resources/implementation-playbook.md。
适用边界
适合 SQL 关系库迁移策略与脚本设计;不负责选型无关领域(如 NoSQL 专用工具链、纯应用层重构)。若变更涉及极大表或强一致跨库事务,仍需结合你们实际的复制拓扑、维护窗口与 DBA 规范做最终裁量。
使用场景
- 生产 PostgreSQL 大表加列且不能长时间锁表,需要 expand-contract 分阶段脚本与切流步骤。
- Flyway/Liquibase 发版前,要补齐版本化 SQL、迁移前后校验项和可执行的回滚脚本。
- MySQL 主从延迟明显时做索引或改类型,需评估在线 DDL、分批回填与并发读写影响。
- SQL Server 蓝绿或读写分离环境改 schema,要把验证套件与进度告警写进发布 runbook。
适合人员
- 负责 PostgreSQL/MySQL 生产发版的后端工程师,需要可审查的迁移分解与回滚路径。
- 大促或封板前评审变更的 DBA,关注零停机策略、数据完整性检查与边缘情况。
- 用迁移框架管 schema 的平台/SRE,要把 batch 并行、监控告警接入发布流程。
- 承担跨环境(dev/staging/prod)迁移对齐的技术负责人,需要统一验证清单与性能优化建议。