Flywayとは?
FlywayはDBのマイグレーションを行うツールです。DBの状態をバージョン管理でき、ツール経由でSQLを実行するので手作業によるミスを減らすことができます。
1. インストール
Spring BootでのFlywayの導入方法は下記を参考してください。Springスターター・プロジェクトを使うとすごく簡単に導入できます。
2. 使い方
FlywayをSpring Bootで使う場合、resources配下にdb/migrationフォルダを作成して、その中に実行したいSQLファイルを配置していきます。
1 2 3 4 |
CREATE TABLE user ( id INTEGER, name CHAR(20), ) |
ファイル名にはバージョン情報を含めるので命名に決まりがあります。
V1.0.0__user.sql
上記ファイル名のように__(アンダースコア2つ)の左側がバージョン情報、右側はファイルの中身が分かるように好きに決めていいです。
次にDBへの接続情報をapplication.propertiesに設定します。
1 2 3 4 |
spring.datasource.driver-class-name=com.mysql.jdbc.Driver // MySQLのドライバ spring.datasource.url=jdbc:mysql://localhost:3306/flywaytest //DB名 spring.datasource.username=root // ユーザー名 spring.datasource.password=password // パスワード |
MySQL上にDBを作っていない場合は下記コマンドで作成しておいてください。
1 |
CREATE DATABASE flywaytest; |
3. 実行
設定が完了したらあとはSpringを起動するだけでSQLが実行されてflywaytestにuserテーブルが作成されます。Flywayは同じデータベース内に実行したSQLファイルを記録しているので同じSQLを実行することがないように制御されています。
これで複数人でテーブルを追加しながら開発を行っていても、マージして起動後には同じデータベースの状態にすることができます。
高妻智一
最新記事 by 高妻智一 (全て見る)
- Reactのルーティングにreact-router-domとreact-router-reduxを導入する方法 - 2018-04-18
- Reactだけで作ったアプリにReduxを導入して気づいた利点 - 2018-04-15
- サーバサイドエンジニアがReactを始めるための最初の一歩 - 2018-04-14
コメントを残す