0
1

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.

開発環境では、できるのに、本番環境で、エラーが出る場合の対処法

Last updated at Posted at 2020-10-03

##環境
heroku

##解決したいこと
開発環境では、できている動作が本番環境ではなぜか,できないこと。
私の場合は、ユーザー管理機能を実装後、ホーム画面のログインボタンを
押すと、「We're sorry, but something went wrong.」が表示されたこと。

##本番環境で動作がうまくいかない時の結論
1 heroku logs --tail --app アプリケーション名 でエラーログを探してみる。
2 マイグレートし直してみて、エラー文が表示されないか確認する。
3 本番環境のページをリロードしてみる。

#私の問題解決に至るまでの過程

##エラー解決までにやってみたこと
heroku logs --tail --app アプリケーション名
をターミナルで実行し、エラーログを探してみたが、見つからなかった。

##原因の結論
heroku run rails db:migrateを実行し直してみた。すると、
SyntaxError: /app/db/migrate/20200926093243_devise_create_users.rb:9: syntax error,
と表示された。

示されたマイグレーションファイルを確認すると、
t.string :encrypted_password, null: false,
と書かれており、末尾の , が余計に記述されていたことが分かった。
そこを修正し、git push heroku master
でコミットし、その後、プッシュをして、マイグレートし直すと、
エラーが解消された。
つまり、herokuへの、マイグレートが文法の間違いでできていなかったことが原因でした。

##まとめ
エラーログを探しても、見つからない時は、herokuへのマイグレーションを再度し直すと、
エラー文が見つかるかもしれません。

結果的にはなぜ開発環境ではうまくいっていたのに、本番環境ではうまくいかなかったのかは
分かりませんでした。
しかし、どちらの環境でも、正常な動作を実現できたので、問題なしと判断しました。
以上になります。

###追記
紹介する方法は私がエラーを解決できた方法であり、エラー解決の方法の一つに過ぎません。

0
1
0

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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?