2016-03-29 4 views
1

私は開発中でdbに変更を加えました。コミットする前に、変更セットに変更を追加する必要があります。だから私はliquibase --url="...;name=db_dev" diffを行うが、それは参照パラメータのために私に尋ねる。しかし、私はURL dbと別のdbを比較したくありません。私は、変更セット(ファイル)をターゲットdbと比較したいと思います。Liquibase diff変更セットとデータベース

これは可能ですか?

答えて

3

私はあなたが非標準的な方法でLiquibaseを使用している可能性があると思います。

Liquibaseの "変更セット"(XML、JSON、またはLiquibaseの構造化されたSQL)をオーサリングしてからliquibase updateを使用して、その変更を各データベースインスタンスに展開することによって、 。

2番目の使用パターンでは、好きなデータベース操作ツールを使用してデータベースに直接変更し、liquibase diffChangelogを使用して、対応する変更セットを変更ログファイルに追加します。変更セットを作成したら、liquibase changelogsyncコマンドを使用して、データベース上のLiquibase DATABASECHANGELOGテーブルに、新しいチェンジセットがすでにデータベースにデプロイされているという情報を入力する必要があります。

  • 2つのライブのデータベース(例えば、あなたはどちらのデータベースを手動で変更する「テスト」または「ステージング」データベースを比較することができ)
  • がデータベース「スナップショット」を作成比較:第2の使用は、あなたのいずれかであることが必要です手動で変更する前に変更を加えてから、データベースとスナップショットを比較してください。 This page on the Liquibase blogは、liquibase snapshotコマンドを使用してスナップショットを取得する方法、およびそのスナップショットを比較するための「オフラインデータベース」として使用する方法を説明しています。

This page in the Liquibase documentationには、Liquibaseを使い始める際の使用パターンに関する詳細がいくつかあります。

関連する問題