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

Pexels / Pixabay

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

[blogcard url=”https://wakabatimes.com/2018/10/19/1134/”]

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

[blogcard url=”https://github.com/tachikawaYutaka/kashi-kari”]

詰まったところ

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

mysqlの設定

[blogcard url=”https://qiita.com/childmarco/items/c6d0ac1a994256ab67e7″]

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の文字化け

[blogcard url=”http://omiend.hatenablog.jp/entry/2015/02/17/211134″]

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

こうするとのこと

flywayのマイグレーション

[blogcard url=”https://devcenter.heroku.com/articles/running-database-migrations-for-java-apps”]

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