起動時にマイグレーション
FlywayはSpring Bootの起動時にデフォルトでマイグレーションを実行してくれます。
今回はこのマイグレーションを明示的に実行する方法を説明します。
Flywayとは
データベースのマイグレーションとそのバージョン管理を行ってくれるツールです。詳細は下記リンクを参照してみてください。
Spring BootでFlywayを使用したMySQLのマイグレーション
環境
- Kotlin 1.1.3-2
- JDK 1.8
- Spring Boot 1.5.6
- Flyway 3.2.1
起動時に処理を追加する方法
起動時に処理を追加するには起動ファイルになっているApplicationクラスにコードを記述します。コードはKotlinで記述しています。
package com.sample import com.sample.config.MySqlDatabaseConfig import org.flywaydb.core.Flyway import org.springframework.boot.SpringApplication import org.springframework.boot.autoconfigure.SpringBootApplication @SpringBootApplication class SampleApplication { fun run() { val flyway: Flyway = Flyway() // DB情報を引数に渡す flyway.setDataSource("url", "user", "password") flyway.migrate() } } fun main(args: Array<String>) { SpringApplication.run(SampleApplication::class.java, *args) }
起動時に処理を追加する場合はrunメソッドの中で実行したい処理を実装すればいいので上記だけ大丈夫です。
これで起動時に明示的にマイグレーションを実行できるようになります。以上です。
おすすめ書籍
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
コメントを残す