、私はこのようなものには、このコマンドをの追加/ LiquiBaseを機能を使用している間
create index indexI on tableT(columnC)
を変換するliquibase.sqlgenerator.core.CreateIndexGeneratorクラスを拡張LiquiBaseをオラクルのSQLステートメントの終了区切り文字として:
declare
index_already_exists exception;
pragma exception_init(index_already_exists, -955);
--
begin
execute immediate 'create index indexI on tableT(columnC)';
exception
when index_already_exists then
dbms_output.put_line('Warning: Index indexI already exists');
end;
偶数にして、いくつかの新しい検証を作成します。
mvn liquibase:を使用すると完全に動作しています。しかし、mvn liquibase:updateSQLを使用してSQLを生成する場合、最終的な/(スラッシュ)はありません。 LiquiBaseをのソースコードを見てみると
は、私はクラス LoggingExecutorが、私はこの方法で私は 終了後、最終的な/(スラッシュ)を追加しようとした} else if (database instanceof OracleDatabase) {
output.write(StreamUtil.getLineSeparator());
output.write("/");
outputStatementが必要なものを持っていたことが分かりました。あれば、それはこのようになった:コードを生成し、または終了区切り文字として/を設定し、無効なPLSQLコード
ある
end;
/;
はSQLで/最終を追加するが、別の方法ですか?