Spring Boot+mysqlのWebアプリをherokuにデプロイして詰まったところなど

Pexels / Pixabay

今日はgithubが止まってて大変だったみなさんも多いのではないでしょうか。
先日こんな記事をあげましたが、Springboot+mysqlのWebアプリをherokuにデプロイする練習として作りました。

そんでソースはこちらです。

詰まったところ

以下に詰まったところを書いていきます。

mysqlの設定

heroku configで出てきた設定情報

CLEARDB_DATABASE_URL: mysql://ユーザ名:パスワード@サーバ名/データベース?reconnect=true

を参考にProcfileで指定する用の環境変数を設定しておく

heroku config:add DB_USER_NAME xxxx
heroku config:add DB_PASSWORD xxxx
heroku config:add DB_SETTING_URL xxxx

mysqlの文字化け

heroku config:add DATABASE_URL='mysql://ユーザー名:パスワード@DBのホスト:3306/データベース名?reconnect=true&characterEncoding=UTF-8&characterSetResults=UTF-8'

こうするとのこと

flywayのマイグレーション

mvn -N io.takari:maven:wrapper
git add mvnw .mvn
git commit -m "Added maven wrapper"

でmvnwと.mvnをリポジトリに追加しておく

Procfileに以下を記述

release: ./mvnw flyway:migrate -Dflyway.user=$DB_USER_NAME -Dflyway.password=$DB_PASSWORD -Dflyway.url=$DB_SETTING_URL -Dflyway.driver=com.mysql.jdbc.Driver
web: java -Dserver.port=$PORT -jar target/*.jar --server.port=$PORT --spring.profiles.active=heroku --spring.datasource.username=$DB_USER_NAME --spring.datasource.password=$DB_PASSWORD --spring.datasource.url=$DB_SETTING_URL