heroku run rake db:migrate時のMysql2::Error::ConnectionError

こんにちは!kossyです!



ヤフーニュースで気になる記事を見つけました。
headlines.yahoo.co.jp

「クレカ払いは手数料率高いしすぐに手元に現金入らなくて経営苦しくなるしまじでいいことなくね?
いくらキャッシュレス社会って言ってもウチは時代の流れ乗るの無理だわ」

要約するとこんな感じですかね。
キャッシュレスに対応できない飲食店が今後どうなっていくのかは注目に値すると思います。





さて、今回は自分でブログに残したはずなのに、herokuへのデプロイでハマるという愚行を冒してしまったので、
ブログに残しておこうと思います。

遭遇したエラーはこちら

Mysql2::Error::ConnectionError: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)



エラーに遭遇するまでの経緯は、
前のエントリ
やさしいherokuへのデプロイ手順 - web業界未経験からエンジニアになる人のブログ
で言うと、

2. ターミナルで作成したいディレクトリまでcdで移動

3. heroku loginでターミナルからherokuへログイン 

4. heroku create アプリ名(先頭の文字を大文字にするとエラーになるよ!)

5. git remote -v でheroku(fetch)~, heroku(push)~, origin(fetch)~, origin(push)~, になってるか確認

ここまでやりました。しかし、

6. heroku addons:add cleardb

7. heroku config | grep CLEARDB_DATABASE_URLでmysqlのバージョンを確認

8. 自分のアプリのmysqlのバージョンを確認して(gemで確認できる)、違っていたら9へ。あってれば10へ

9. heroku config:set DATABASE_URL='mysql2://~'(カンマ忘れるとターミナル止まる)

この手順をすっ飛ばして、

10. git push heroku master

11. heroku run rake db:migrate

10,11の手順を実行したためにエラーが起きてしまいました、、、(1時間はハマりました)



エラーの原因に気づいたあとは、
6-9の手順を順番通り実行し、10,11をもう一度実行しました。
そしてheroku openで無事問題なくアプリを開けました、、、



初めてブログを書いておいてよかったと思いました。笑
過去の自分に感謝です。