gpt4 book ai didi

liquibase - 使用时如何区分数据库,例如序列

转载 作者:行者123 更新时间:2023-12-04 05:41:03 25 4
gpt4 key购买 nike

我刚开始使用 Liquibase并偶然发现了区分不同数据库功能的问题。

我们希望支持多个数据库(Oracle、MySQL、Derby - 仅举三个)。

他们都有不同的能力。在特定的 Oracle 支持 sequences而 MySQL 和 Derby 则没有。

当我让 hibernate 生成 DDL 时,我可以选择不同的方言,它会考虑这些不同的功能并生成 Sequencer使用 Oracle 时,使用 Derby 或 MySQL 时使用普通表(用于 ID 生成)。

现在,我知道我可以通过指定' oracle 来约束变更集。 ' 在 dbms属性。但是我该如何为其他数据库做普通表解决方案呢? dbms 似乎没有“not oracle”属性。 .

其他人如何处理? (我在 liquibase 页面和论坛上都找不到任何关于它的信息。)

最佳答案

尝试使用 precondition在变更集上。支持 bool 运算。

例如

 <preConditions onFail="CONTINUE">
<or>
<dbms type="oracle" />
<dbms type="mysql" />
</or>
</preConditions>

关于liquibase - 使用时如何区分数据库,例如序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11246009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com