2017-02-28 8 views
1

Liquibaseは、データベースの変更を調整する優れたツールです。私は、クラスタ環境で起動時にliquibaseチェンジセットを実行しています。最初のアプリケーション・インスタンスは、(databasechangeloglock内に)ロックを入れ、チェンジセットを実行します。彼らがロックをつかむ他のインスタンスは、変更されたチェンジセットをMARK_RANとマークするだけです。ここまでは順調ですね。liquibase databasechangelogにマシン名が表示されない

最近、問題が発生し、データベースの変更ログテーブルの詳細を掘り下げなければなりませんでした。私はメタ情報にインスタンス名(マシン名)があることを期待していました。しかし、私はそれを見つけることができませんでした。メタ情報としてdatabasechangelogテーブルにインスタンス名を書き込むように、liquibaseの動作をカスタマイズする方法はありますか?

ありがとうございました!

答えて

1

これはおそらく、Liquibase自体の変更である必要があります。設定では何もできません。 DATABASECHANGELOGLOCKテーブルにはその目的のために列LOCKEDBYがありますが、DATABASECHANGELOGテーブルは気にしないように設計されています。変更が導入されたときに誰がLiquibaseを実行していたかを把握したい場合は、Daticalでやっていることをしなければなりません.Luquibaseをラップするカスタムコードがあります。デプロイメントが発生したときにLiquibaseからのイベントを待ち受けるクラスがあり、その情報を「監査」データベースに書き込んですべての情報を追跡します。

+0

あなたの答えに感謝します。ありがとうございました! – aug70co

関連する問題