首页/开发/CI/CD 与发布速查/发布中的数据库迁移
环境与配置管理60 条

发布中的数据库迁移

应用发布与库结构变更分开管理:迁移脚本版本化可重放,上线顺序与兼容窗口设计清楚,避免「代码与表结构互相等」。

CI/CD 与发布速查开发更新于 2026-10-12
工具Flyway、Liquibase、dbmate、Alembic 等(版本号+校验和)
顺序兼容态设计下:先迁移(可被旧代码容忍)→ 再发新代码;破坏性变更拆多步
回滚优选向前修复;结构回滚脚本仅作兜底

迁移目录示例

迁移目录示例
db/migrations/
  20261001_add_order_ref.sql
  20261005_backfill_order_ref.sql
  20261010_drop_legacy_column.sql
删除列/改类型前确认无代码引用(含历史版本回滚所需):回滚窗口内结构必须双兼容。

易错点

  • 迁移与代码同一提交且互相依赖:任一侧回滚即卡死,按扩展-收缩拆步
  • 迁移脚本上了生产才发现没有幂等:重试直接失败,先测试重放

数据来源与参考

  • Flyway 文档《Migrations》
  • Liquibase 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌