安装命令
npx skills add skillerdotdev/skills@database-migrations -y -g
跨工具通用:Claude Code ~/.claude/skills/ · Qoder ~/.qoder/skills/ · TRAE ~/.trae/skills/
源码 何时使用
当你在修改数据库结构、执行数据迁移、或规划零停机发布时触发。
核心原则
迁移顺序
- 新增列(可空或有默认值)→ 部署代码读取新列
- 代码同时写新旧列 → 迁移数据
- 代码只写新列 → 删除旧列
安全变更
- 可以:添加可空列、添加有默认值列、添加新表、添加索引(CONCURRENTLY)
- 禁止:删列(先改为可空 → 确认无引用 → 再删)、改列类型(先加新列 → 迁移 → 删旧列)、重命名列(先加别名)
零停机策略
- 扩展-收缩模式(Expand-Contract):先加后删,中间态兼容
- 大表加索引用
CREATE INDEX CONCURRENTLY,不锁表
- 数据迁移分批执行,每批 1000-5000 行,避免长事务
回滚
- 每个迁移写对应的 down 迁移
- 生产环境禁止自动回滚,需人工审核
- 迁移前在 staging 环境用生产数据快照验证