今日は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