私は開発しており、dbに変更を加えました。コミットする前に、変更セットに変更を追加する必要があります。私もです liquibase --url="...;name=db_dev" diff
参照パラメータを求められます。しかし、私はURL dbと別のdbを比較したくありません。私は、変更セット(ファイル)をターゲットdbと比較したいと思います。
これは可能ですか?
回答:
回答№1の場合は3私はあなたが非標準的な方法でLiquibaseを使用しているかもしれないと思います。
期待される使用パターンの1つは、Liquibaseの "変更セット"(XML、JSON、またはLiquibaseの構造化されたSQLのいずれか)をオーサリングしてから、必要なスキーマ変更を作成し、 liquibase update
その変更を各データベースインスタンスに展開します。
2番目の使用パターンでは、好きなデータベース操作ツールを使用してデータベースに直接変更してから、 liquibase diffChangelog
対応する変更セットを変更履歴ファイルに追加します。変更セットを作成した後は、 liquibase changelogsync
Liquibaseを読み込むコマンド DATABASECHANGELOG
新しいチェンジセットがすでにデータベースに「デプロイされている」という情報を持つデータベースのテーブルを作成します。 2番目の方法では、
- 2つのライブデータベースを比較します(たとえば、 "テスト"または "ステージング"データベースと手動で変更したデータベースを比較できます)
- 手動で変更する前にデータベースの「スナップショット」を作成してから変更を加え、データベースとスナップショットを比較してください。 Liquibaseブログのこのページ を使用する方法について説明しています
liquibase snapshot
スナップショットを取得するコマンドと、そのスナップショットを比較するための「オフラインデータベース」として使用する方法について説明します。
Liquibaseドキュメントのこのページ Liquibaseを使い始めるときの使用パターンに関する詳細がいくつかあります。