環境
- Ruby 2.7.1
- Rails 6.0.3
- Centos 7.6
- MySQL 8.0.20
- 仮想環境 Vagrant + VirtualBox
We're sorry, but something went wrong.If you are the application owner check the logs for more information.
このように、デプロイしても開けない状況に。
解決策
データベースが原因でした。
herokuはデフォルトがMySQLじゃないので自分で設定してあげないといけないみたい。
この2つの記事がわかりやすい!↓
この2つの記事を読んで概要をつかんでからCUIで設定していった。
herokuのデータベースをMySQLに変更
[vagrant@localhost memopy]$ heroku addons:create cleardb:ignite
Creating cleardb:ignite on ⬢ memopy... free
Created cleardb-aerodynamic-24825 as CLEARDB_DATABASE_URL
Use heroku addons:docs cleardb to view documentation
[vagrant@localhost memopy]$ heroku config | grep CLEARDB_DATABASE_URL
CLEARDB_DATABASE_URL: mysql://bc0ee5063e4f00:e1d0665c@us-cdbr-east-05.cleardb.net/heroku_fb9e9b74813be35?reconnect=true
[vagrant@localhost memopy]$ heroku config:set DATABASE_URL=mysql2://bc0ee5063e4f00:e1d0665c@us-cdbr-east-05.cleardb.net/heroku_fb9e9b74813be35?reconnect=true
Setting DATABASE_URL and restarting ⬢ memopy... done, v7
DATABASE_URL: mysql2://bc0ee5063e4f00:e1d0665c@us-cdbr-east-05.cleardb.net/heroku_fb9e9b74813be35?reconnect=true
[vagrant@localhost memopy]$ heroku config
=== memopy Config Vars
CLEARDB_DATABASE_URL: mysql://bc0ee5063e4f00:e1d0665c@us-cdbr-east-05.cleardb.net/heroku_fb9e9b74813be35?reconnect=true
DATABASE_URL: mysql2://bc0ee5063e4f00:e1d0665c@us-cdbr-east-05.cleardb.net/heroku_fb9e9b74813be35?reconnect=true
LANG: en_US.UTF-8
RACK_ENV: production
RAILS_ENV: production
RAILS_LOG_TO_STDOUT: enabled
RAILS_SERVE_STATIC_FILES: enabled
SECRET_KEY_BASE: 57c40cfca095d1fb6419a4e567f5d16f11d3d5827d045def500cff321f31bfa7aefe3ebc740f678ea62a4db48a32f76c7d7569c06295d7aed89d8df62a87b7c4
これでheroku上でMySQLが使えるように!
アセットパイプラインの設定
あとはアセットパイプラインも設定してあげないといけないみたい。
アセットパイプラインって何って方はこの記事を。↓
https://www.transnet.ne.jp/2016/02/28/rails%E5%88%9D%E5%AD%A6%E8%80%85%E3%81%8C%E3%81%A4%E3%81%BE%E3%81%9A%E3%81%8Dcolnr%E3%80%8C%E3%82%A2%E3%82%BB%E3%83%83%E3%83%88%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3/
config/environments/production.rb を見てみると、
(中略)
config.assets.compile = false
(中略)
になってたのでこれを
(中略)
config.assets.compile = true
(中略)
に変更。
マイグレーション
[vagrant@localhost memopy]$ git add -A
[vagrant@localhost memopy]$ git commit -m 'アセットパイプラインの設定'
[vagrant@localhost memopy]$ git push
[vagrant@localhost memopy]$ git push heroku master
[vagrant@localhost memopy]$ heroku run rake db:migrate
これでmigrate完了!
heroku open で開いてあげると、、、
開けた!
やったね!!!