2

Liquibase を使用して定義された Oracle/MySql/PostgreSql のスキーマがあります。私はいくつかの挿入ステートメントを持っています。ここで<insert>、MySql の場合は自動インクリメント機能を使用し、Oracle のシーケンスを使用するように、3 つの DB すべてをサポートするタグを作成したいと考えています。<insert>タグを複製せずにこれを達成できますか?

4

1 に答える 1

0

実際には、あなたが思っている以上に苦痛だと思います。さまざまな変更セットでこれを行う必要があると思います。たとえば sequence を使用する場合、どのようにデータベースを区別するかを参照してください。

したがって、次のようになります。

<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 に答える