私はLiquibaseとFlywayの両方に新しいです。ハローワールドをやろうとしていた。私はLiquibaseとFlywayの両方を使って、基本的なSQL(insertなどの作成)を正常に実行しました。 コマンドラインから実行することに興味がありました。LiquibaseはFlywayのような新しいチェンジセットファイルを自動作成できますか?
フライウェイは:
- は一種の簡単
- 私は正しい命名形式正しいフォルダ内の「V1_xxxx.sql」「フライウェイ/ SQL」&実行中のSQLファイルを入れていたと開始することでした'flyway migrate'
- 正しいファイル名を指定すると、新しいsqlファイルが自動的に選択されたことが一番良かったです。
LiquiBaseを:
- は、正しいファイル名を毎回与える必要が
LiquiBaseを--driver = com.mysql
それを理解して使用するためにいくつかの時間を費やす必要がありました.jdbc.Driver --classpath =/path/to/classes --changeLogFile = com/example/db.changelog .xml --url = "jdbc:mysql:// localhost/example" --username = dev移行する
LiquiBaseを--driver =はcom.mysql.jdbc.Driver --classpath = /パス/に/クラス--changeLogFile = COM /例/ db.changelog の.xml --url =「JDBC:MySQLの:// localhost/example "--username = devマイグレーション
新しいxmlファイルを自動的に選択する方法はありますか? Flywayのように私はちょうどフォルダー名を与えることができ、LiquibaseはそのテーブルDATABASECHANGELOGを使ってデルタを見つけて同じように実行することができます。 LiquiBaseを用
2番目の質問のみ
Windowsでコマンドを正常に実行するために、私はchangeLogFileパラメータを変更するには... ...
liquibase --driver=com.mysql.jdbc.Driver --classpath=/path/to/classes --changeLogFile=com/example/db.changelog1.xml --url="jdbc:mysql://localhost/example" --username=dev migrate
から
liquibase --driver=com.mysql.jdbc.Driver --classpath=/path/to/classes --changeLogFile=./db.changelog1.xml --url="jdbc:mysql://localhost/example" --username=dev migrate
に持っていました
つまり、現在の作業ディレクトリをcom/exampleに変更してから、changeLogFileパラメータを変更して、現在のフォルダと実行コマンド。
は、私が別のフォルダにchangeLogFileを指すことができる方法は、(離れて現在のフォルダから)ありますが、コマンドラインから使用するLiquiBaseを少し簡単にするために行うことができます