用途:为 FOLIO Spring Boot 模块创建、编辑或评审 Liquibase 数据库迁移时使用,适用于任何数据库迁移和模式变更场景。
主要能力与规范:一是目录结构,推荐按版本组织,changelog-master.xml 仅包含各版本聚合文件 changes/changelog-vX.Y.xml,后者只包含 changes/vX.Y/ 下的文件,所有 include 使用 relativeToChangelogFile="true";已有模块必须先检查现有结构并沿用,不要中途重组。二是 changeset ID 命名,格式为 <JIRA-TICKET>@@<scope>-<action>-<target>[-<detail>],scope 取 schema、data、refactor、fix,action 取 create、alter、drop、rename、migrate、backfill、seed、cleanup、enforce,全小写、kebab-case、仅 ASCII,已发布 ID 不可重命名。三是每个 changeset 必须包含 comment。四是标准列类型,如 uuid、varchar(36)–varchar(250)、varchar(2500) 或 text、jsonb、datetime、bool、integer、char;metadata 列需先询问用户是否需要。
常用模式:创建表、添加外键、创建索引、添加列、数据迁移或 seed,均以 XML changeSet 实现。
限制与反模式:缺少 comment、重命名已发布 changeset ID、一个 changeset 混入多个不相关变更、对模式变更使用 runOnChange="true"(仅允许用于存储过程/视图,不可用于 DDL)。如需官方安装命令或收费信息,资料暂未提供。