2017-05-19 6 views
0

には、チェンジセットを一意に識別し、チェンジセットが実行されたかどうかを示す3つのカラムがdatabasechangelogテーブルにあります。Liquibase Changeset - チェンジセットの代わりに一意の識別子を使用する方法は? liquibaseの

列は次のとおり

  • ID
  • AUTHOR
  • FILENAME(変更ログファイルパス)

LiquiBaseをがdatabaseChangeLogを実行するように、それがために、順番に変更セットを読み込み、それぞれが "databasechangelog"テーブルをチェックして、id/author/filenameの組み合わせが実行されているかどうかを確認します。

私は自動展開のコンテキストでliquibaseを使用していますので、私のチェンジセットのファイルパスは絶えず変化しています。したがって、同じチェンジセットは繰り返し実行され、これは望ましくない動作です。

変更セットの一意の識別子である組み合わせからファイル名を除外する方法はありますか?私は基本的にliquibaseにIDとAuthorのみを使用したいと思っています。

はあなたに

敬具、

トビアス

答えて

1

をありがとう、私はあなたがする必要があるすべては、それがlogicalFilePath属性が設定されているように、変更履歴を編集していると思います。ここでは例です:

<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd" 
        logicalFilePath="changelog.xml"> 
    ... 
</databaseChangeLog> 

必要に応じて、個々のチェンジにlogicalFilePath属性を設定することも可能です。

http://forum.liquibase.org/topic/i-need-to-ignore-the-filename-in-the-processing-to-see-if-a-change-set-has-already-been-applied

関連する問題