1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

herokuにデプロイできてるのにエラー出て開けない【原因:MySQL】

Last updated at Posted at 2020-06-16

エラー

herokuにデプロイして開いたらこんな画面に↓

スクリーンショット 2020-06-16 15.51.04.png

解決策

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が使えるように!

補足

zsh: no matches found: DATABASE_URL=mysql2://bf308b6fe98a5e:a01545fa@us-cdbr-east-05.cleardb.net/heroku_a8b1a434e18a217?reconnect=true

このエラーが出たら、zshのエラーなので.zshrcに以下を追記↓

$ setopt nonomatch

その後、変更を反映。

$ source ~/.zshrc

詳しくはこの記事を参考に↓
https://khanamoto.hatenablog.com/entry/2018/05/09/183947

アセットパイプラインの設定

あとはアセットパイプラインも設定してあげないといけないみたい。
アセットパイプラインって何って方はこの記事を。↓
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 で開いてあげると、、、

スクリーンショット 2020-06-16 15.54.46.png

開けた!

やったね!!!

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?