2017-03-18 3 views
0

、システムプロパティを指定し、DATABASECHANGELOG & DATABASECHANGELOGLOCKテーブルのカスタマイズされた名前は、(LiquiBaseを更新実行に)&セットアップを使用しました。 http://forum.liquibase.org/topic/configurable-databasechangelog-table-nameカスタマイズLiquiBaseをコントロールテーブル(DATABASECHANGELOG&DATABAEECHANGELOGLOCKは)

LiquiBaseをバージョン-3.5.1、データベースとOracle 12cと、OS-Redhat Linuxでは

しかし、(同じデータベース・スキーマに対して)将来LiquiBaseを更新を実行するために、後続の試みで、実行はそのがしようとして失敗しましたカスタマイズされたDATABASECHANGELOGテーブルを再度作成し直してください。オブジェクト名が既に使用されていません。これは、標準のliquibaseコントロールテーブル名(すなわち、DATABASECHANGELOG & DATABASECHANGELOGLOCK)を使用しようとしたときに発生しません。

カスタマイズされたliquibaseコントロールテーブルの再作成をスキップするオプションがありますか?

+0

いくつかの追加情報、この問題は、Oracle 12cデータベーススキーマに対して実行すると発生します。 Postgres 9.5と同じシナリオを試して、期待通りに動作するようにしました(設定変更ログテーブルはDATABASECHANGELOGと同じように動作します)。私はJDK 8を使用し、Oracleサイトからダウンロードしたojdbc7.jarを使用しています。 –

答えて

1

これらをシステムプロパティとして設定するのはなぜですか?

次の(またはプロパティで定義されたこれらの引数はファイル)のようにLiquiBaseを呼び出すことができます。

liquibase <regular arguments > --liquibaseSchemaName=YOUR_SCHEMA \ 
    --databaseChangeLogTableName=YOUR_DBCHANGELOG \ 
    --databaseChangeLogLockTableName=YOUR_DBCHANGELOGLOCK .... 

それは(3.5.1、オラクル12cをLiquiBaseを)私たちのために正常に動作します。

ありがとうございました

関連する問題