【发布时间】:2021-10-07 21:17:38
【问题描述】:
目前我的默认 Liquibase 脚本设置为未提供 dbms - 这应被视为“对所有数据库都有效”。
一些脚本依赖于 JSONB 等数据库特定功能:
POSTGRES
<changeSet id="add_jsonb_field" author="me" dbms="postgresql">
<preConditions />
<addColumn tableName="postgresTable">
<column name="someField" type="JSONB" />
</addColumn>
<rollback />
</changeSet>
H2
<changeSet id="add_text_field" author="me" dbms="h2">
<preConditions />
<addColumn tableName="postgresTable">
<column name="someField" type="text" />
</addColumn>
<rollback />
</changeSet>
我目前的假设是,在没有指定 dbms 的情况下,该脚本适用于任何数据库。指定 dbms 后,它只适用于给定的数据库类型。
所以 h2 应该执行所有通用脚本以及带有 h2 的那些标记。
我的假设是正确的还是 h2 会忽略不带 dbms 标记的脚本?
【问题讨论】:
标签: spring postgresql hibernate h2 liquibase