概述
数据库变更需要可审计与可回滚。Flyway 与 Liquibase 提供版本化与校验的迁移框架。本文给出变更日志规范、回滚策略与 CI/CD 集成与验证。
版本化与校验(已验证)
- 命名规范:
V{version}__{desc}.sql(Flyway)与 XML/YAML/SQL(Liquibase); - 校验和与状态表:防止变更漂移;
- 变更日志:记录作者、时间与环境差异。
回滚与安全
- 回滚脚本:为关键变更提供回滚;
- Expand-Contract:与应用发布配合,避免破坏兼容性;
CI/CD 集成
- 在流水线中执行
migrate与validate; - 环境参数化:按环境执行差异脚本;
示例(片段)
Flyway: V1__create_users.sql, V2__add_index.sql
Liquibase: changeset id=2025-11-25-001 author=alice
验证与监控
- 指标:迁移耗时与失败率;
- 校验:
validate与回滚演练;
常见误区
- 直接修改生产表结构无迁移记录;
- 无回滚脚本与演练导致失败不可控;
- 变更日志与环境差异混乱。
结语
以版本化与校验为基础,配合回滚与 Expand-Contract 策略,并以 CI/CD 验证,数据库迁移可在生产中安全可控地迭代。

发表评论 取消回复