10
8

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 5 years have passed since last update.

Rails のコンソールに SQL を表示する

Posted at

はじめに

とある巨大な処理をEC2で rails console を立ち上げて走らせると、

Mysql2::Error: MySQL server has gone away

となりサーバーがゴーンアウェイしてしまいました。
どの SQL を走らせた時にゴーンアウェイしたか調べようとしたものの、私の環境では Rails のコンソールにデフォルトで SQL 文が表示されませんでした。

問題解決のために SQL を表示させる必要があったのと、
今後もこのコマンドにお世話になると思うのでメモとして(別にぐぐったら出てるくんだけどね)

実装

コンソール上で下記コマンドの入力で終了。

ActiveRecord::Base.logger = Logger.new(STDOUT)

まとめ

これでどの SQL 文が実行された時に問題が発生したのかわかるようになりました。
が、そもそもゴーンアウェイしないように DB に優しいコードを書かないといけないので気をつけましょう!(自戒を込めて)

追記

ちなみに SQL を非表示にする時は下記

ActiveRecord::Base.logger = nil
10
8
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
10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?