Liquibaseはデータベース変更管理ツールです。これはJavaで実装されていますが、データベースのアップグレードを制御するためにコマンドラインバージョンを使用できます(.NETバージョンは開発中です)。
モデリングツールのサポートが必要な場合は
、 PowerArchitectをliquibaseで使用できます。
データベーススキーマのアップグレードの管理に関連する問題は微妙です。いくつかの背景を読むために私はお勧めします:
アップデート
データベースの詳細を保持するliquibase.propertiesというファイルを作成します。
url=jdbc:sqlserver://localhost:1433;databaseName=test
username=myuser
password=mypass
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
classpath=C:\\Program Files\\Microsoft SQL Server 2005 JDBC Driver\\sqljdbc_1.2\\enu\\sqljdbc.jar
changeLogFile=database-changelog.xml
既存のデータベースに対してliquibaseを使用する場合は、次のコマンドを実行できます。
liquibase generateChangeLog
liquibase changelogSync
最初のコマンドは、抽出されたデータモデルを含むdatabase-changelog.xmlというXMLファイルを作成します。
2番目のコマンドはオプションですが、現在のデータベースに新しい変更を適用する場合に役立ちます。抽出されたチェンジセットを、データベースですでに実行されているものとしてマークします。
これで開始点ができたので、database-changelog.xmlファイルに新しいチェンジセットを追加することができます。これらの新しい変更を適用するには、次のコマンドを実行するだけです。
liquibase update
これは、新しいデータベースに使用するのと同じコマンドです。更新操作中に、liquibaseはXMLファイル内のチェンジセットをターゲットデータベースにすでに適用されているチェンジセットと比較します。
より高度なユースケースについては、liquibaseのドキュメントを読むことをお勧めします。次の回答も役立つ場合があります。