LoginSignup
0
0

More than 3 years have passed since last update.

【Java】DBマイグレーション(Flyway)

Posted at

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

公式サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0