DBマイグレーション(スキーマ管理)ライブラリであるFlywayを利用する。
以下のような目的で利用する。
・DBの定義やその変更に関する情報を一箇所で管理する。
・その情報に基づき最新のDBの状態を自動で再現する。
MavenプロジェクトでFlywayを利用するための設定
pom.xml
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>
SpringBootの設定ファイルを修正(application.yml)
SpringBootはデフォルトで、flywayが起動時に自動実行される。
flyway:
baseline-on-migrate: true
baselineVersionAsString: 0.0.0
baseline-description: Initial
テーブルの定義ファイルを追加
以下フォルダにsqlファイルを追加する。
src/main/resources/db/migration/
・マイグレーションファイル
管理対象のスキーマに適用する変更内容を記述したSQLファイル
以下の規則で作成する。
V{version}__{description}.sql
例)
V0_0_1__createTable.sql
・リピータブルマイグレーションファイル
ビュー、プロシージャ、ファンクションなどのオブジェクトのマイグレーションを行いたい場合に使用する。
以下の規則で作成する。
R__{description}.sql
例)
R__createView.sql