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

发表评论 取消回复