数据与写入

表结构变更

Liquibase 是唯一入口;已入库脚本冻结,只增不改。

唯一入口

所有表结构变更走 Liquibase 迁移脚本,禁止手工改库。原因很实际:手工改的库,换一台机器就还原不出来。

纪律

  • changeset 只增不改:已执行的脚本冻结,出现修改 / 删除 / 重命名即构建失败。
  • 列注释必须写准确——它是下一个人(和 AI)理解这张表的第一手资料。
  • 表间一律逻辑引用,不建物理外键。
  • 逻辑删除列非空默认 0。

常用操作

./gradlew bootRun # 启动时自动执行未应用的迁移
./gradlew build # 校验脚本是否被篡改

改错了怎么办

  1. 已入库的 changeset:不要改,新增一个 changeset 修正。
  2. 尚未入库的 changeset:可以直接改。
  3. 判断依据:这份脚本是否在别的机器上执行过。

提示:这条纪律换来的是:任何一台新机器拉起代码,数据库结构与团队完全一致。

最后更新 2026-10-09编辑此页 →