表结构变更
Liquibase 是唯一入口;已入库脚本冻结,只增不改。
唯一入口
所有表结构变更走 Liquibase 迁移脚本,禁止手工改库。原因很实际:手工改的库,换一台机器就还原不出来。
纪律
- changeset 只增不改:已执行的脚本冻结,出现修改 / 删除 / 重命名即构建失败。
- 列注释必须写准确——它是下一个人(和 AI)理解这张表的第一手资料。
- 表间一律逻辑引用,不建物理外键。
- 逻辑删除列非空默认 0。
常用操作
./gradlew bootRun # 启动时自动执行未应用的迁移
./gradlew build # 校验脚本是否被篡改
改错了怎么办
- 已入库的 changeset:不要改,新增一个 changeset 修正。
- 尚未入库的 changeset:可以直接改。
- 判断依据:这份脚本是否在别的机器上执行过。
提示:这条纪律换来的是:任何一台新机器拉起代码,数据库结构与团队完全一致。
最后更新 2026-10-09编辑此页 →