git push heroku masterで本番環境にデプロイ後での、データベース作成の際に生じたエラーに関する記事です。
#環境
ruby 2.6.5
rails 6.0.0
db mysql2
Github
#エラーの経緯
本番環境にデプロイ後、heroku run rails db:migrateを行うと
rails aborted!
Mysql2::Error::ConnectionError: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
というエラーが発生。
#手順
結論としては、DATABASE_URLが間違っていました。
以下、解決した手順を記載いたします。
1、ターミナルにて以下を実行
*この時、Created~となればオッケーです
heroku addons:add cleardb
2、次に現在のDATABASE_URLを確認します。
*下記のように表示されるはずです。
CLEARDB_DATABASE_URL: mysql://[あなたのURL]
heroku config | grep CLEARDB_DATABASE_URL
3、先ほど表示させたURLを変更します
mysql →mysql2
heroku config:set DATABASE_URL=mysql2://[あなたのURL]
しかし、ここで私はエラーが発生しました。
理由としては、URLの両端にクウォーテーションマークを使用していなかったからだと思います。皆さんは忘れないようにしましょう。。
気を取り直し再度入力
heroku config:set DATABASE_URL='mysql2://[あなたのURL]'
4、変更が完了したら、本番環境にデータベースを作成しましょう。
heroku run rails db:migrate
エラーが発生しなければ完了です。
#まとめ
自分がいまどんな環境で、アプリを制作しているかをちゃんと理解していれば防げたエラーです。
同じところでつまづいた方の参考になればと思います。
#参考記事
https://qiita.com/koukidesu/items/2115a50569e6519832da