0
0

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] heroku run rails db:migrate できなかったときの対処

Posted at

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

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?