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

# エラー

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

<img width="803" alt="スクリーンショット 2020-06-16 15.51.04.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628315/35c2b5e8-a0fd-31e0-372d-3a351f1f8fb7.png">

# 解決策
herokuはデフォルトがMySQLじゃないので自分で設定してあげないといけないみたい。

この2つの記事がわかりやすい！↓

- CUIで設定
https://qiita.com/senou/items/108ef1d94dcb5b227b4f

- GUIで設定
https://qiita.com/poster-keisuke/items/f27e190e22d80dc254ed

この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 で開いてあげると、、、

<img width="804" alt="スクリーンショット 2020-06-16 15.54.46.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628315/77ae5483-370f-121c-1f01-f232ed728c4f.png">

開けた！

やったね！！！