質問: ### 解決したいこと Herokuのデプロイを正常に実行させてデータベース周りのビューやデータ保存をできるようにしたいです。 mysqlを使用しています。 ### エラー内容 heroku run rake db:migrateコマンドでDBマイグレーションを行うと下記のエラーが表示されます。 Mysql2::Error::ConnectionError: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) ### 実行したこと ソケットの場所の確認を行いました。config/database.ymlのパスとmysql_config --socketで得られるパスを確認しましたが同じでした。 CLEARDB_DATABASE_URL='mysql://~~~~~'をCLEARDB_DATABASE_URL='mysql2://~~~~~'に変更しましたがエラーは解消されませんでした。 ### 補足 ローカル環境では問題なく、ビューの表示と入力データをデータベースに保存することができています。
回答: エラーの原因ですが、どうやら色々あるみたいで、適切に環境変数を設定する必要があるみたいです。以下のサイトを参考にして見てください。 https://qiita.com/yatakan/items/533115b144de6373be1f Herokuの標準DBはPostgreSQLなので、一番楽なのはpostgreSQLを本番環境で使用してデプロイすることだと思います。database.ymlとgemfileの部分をpostgresql仕様にすれば大丈夫です。もしそのようにしても問題ない場合は以下のサイトが参考になります。postgresql自体はmysqlと対して動作に支障が出ることはないので、手軽にデプロイしたい場合はこちらのやり方をお勧めします。 https://qiita.com/NaokiIshimura/items/550ca82e8e57aaea5582