Flywayとは?
FlywayはDBのマイグレーションを行うツールです。DBの状態をバージョン管理でき、ツール経由でSQLを実行するので手作業によるミスを減らすことができます。
1. インストール
Spring BootでのFlywayの導入方法は下記を参考してください。Springスターター・プロジェクトを使うとすごく簡単に導入できます。
2. 使い方
FlywayをSpring Bootで使う場合、resources配下にdb/migrationフォルダを作成して、その中に実行したいSQLファイルを配置していきます。
CREATE TABLE user ( id INTEGER, name CHAR(20), )
ファイル名にはバージョン情報を含めるので命名に決まりがあります。
V1.0.0__user.sql
上記ファイル名のように__(アンダースコア2つ)の左側がバージョン情報、右側はファイルの中身が分かるように好きに決めていいです。
次にDBへの接続情報をapplication.propertiesに設定します。
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を作っていない場合は下記コマンドで作成しておいてください。
CREATE DATABASE flywaytest;
3. 実行
設定が完了したらあとはSpringを起動するだけでSQLが実行されてflywaytestにuserテーブルが作成されます。Flywayは同じデータベース内に実行したSQLファイルを記録しているので同じSQLを実行することがないように制御されています。
これで複数人でテーブルを追加しながら開発を行っていても、マージして起動後には同じデータベースの状態にすることができます。
おすすめ書籍
JPAに関して体系的に学べる良い書籍だと思います。良くあるSpring系書籍ですとJPAは少ししか紹介がありませんが丸々一冊JPAに関してなので詳細な解説がされています。内容はJPAと他のORMとの比較から始まりセットアップ、実装の仕方まで幅広く網羅されています。これからJPAで開発を初めてみようかなと考えている方は一読することをオススメします!
Springの概要からインストール方法、各コア機能(Security, Sessionなど)の解説が体系的にまとめられています。2018年に出版されたばかりなので情報も新しいです。これからSpring Bootでアプリケーション開発をしたい方の最初に読む一冊としておすすめします。対象は初心者だけでなく上級者まで幅広く学べるので是非読んでみてください!
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す