電脳羊(Android Dream)

アクセスカウンタ

zoom RSS Spring boot flywayMigrateの設定

<<   作成日時 : 2017/04/14 11:09   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

開発してるとDBの内容はどんどん変わっていきますね。

flywayはデータベースマイグレーションツールです。
SQL文を開発環境に適用してくれるベ便利ツールです。
https://flywaydb.org/

Spring bootプロジェクトのbuild.gradleに設定を追加します。
http://pgmgonta.hatenablog.com/entry/2014/06/01/100859
https://github.com/flyway/flyway/blob/master/flyway-sample/build.gradle
を参考に設定します。
公式によると現在のバージョンは4.1.2らしいので設定します。
個人的にはツールのバージョンを設定ファイルに書くの嫌いですね。そんなもん書かなくても最新版適用しろよ

flywayのプラグインの設定とDBアクセスのための情報を追加します。


buildscript {
ext {
springBootVersion = '1.5.2.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath "org.flywaydb:flyway-gradle-plugin:4.1.2"
}
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'org.flywaydb.flyway'

flyway {
url = 'jdbc:postgresql://192.168.33.10:5432/demodb'
user = 'vagrant'
password = 'vagrant'
}



適用するSQL文はsrc/main/resources/db/migrationの下に
バージョン番号__名前.sql
という番号で作成します。
バージョン番号の順に適用されるので、SQL文に依存関係がある場合はバージョン番号に留意しましょう。
アンダーバーは2つです。

$ gradle flywayMigrate
を実行するとSQL文がDBに適用されます。
schema_versionというテーブルが作成されて、どのSQL文が適用されたか記録しています。
次回からは新しく追加されたSQL文のみが実行されます。

DBをクリアして最初から適用し直したいときは
$ gradle flywayClean
$ gradle flywayMigrate
を実行します。
ただしテーブルの中身もクリアになるので気をつけて下さい。
初期データをSQL文で用意しておけば、いつでも初期データの状態にクリアしてやり直すことも可能です。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
Spring boot flywayMigrateの設定 電脳羊(Android Dream)/BIGLOBEウェブリブログ
文字サイズ:       閉じる