我有一个使用 Liquibase 定义的 Oracle/MySql/PostgreSql 架构。我有一些插入语句。现在我想编写<insert>
支持所有三个数据库的标签,这样如果它是 MySql,它将使用自动增量功能和 Oracle 的序列。我可以在不复制<insert>
标签的情况下实现这一点吗?
问问题
816 次
1 回答
0
其实我觉得这比你想象的还要痛苦。我相信您必须使用不同的变更集来执行此操作。请参阅使用例如序列时如何区分数据库。
所以你会有:
<changeSet id="x" author="y">
<preConditions>
<dbms type="oracle"/>
</preConditions>
...
</changeSet>
<changeSet id="xx" author="y">
<preConditions>
<dbms type="mysql"/>
</preConditions>
...
</changeSet>
<changeSet id="xxx" author="y">
<preConditions>
<dbms type="postgres"/>
</preConditions>
...
</changeSet>
于 2013-10-30T19:24:55.993 回答