WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

ActiveRecordが生成するSQLをrails console上に表示する

      2015/05/18

ActiveRecordが生成するSQLをrails console上に表示する

この記事の内容は古いです。
特に設定しなくても最近のRails(4.0以上?)はコンソールでSQLでます。

development環境での場合。
デフォルトではActiveRecordが生成するSQLは、log/development.logに吐き出される。

`tail -f log/development.log`などでSQLを確認できるが、`rails console`を実行していて、どんなSQLが発行されているかをその場で確認したい場合もある。
そのような場合は、以下のようにActiveRecordのログの出力先を標準出力に変更する。

$ rails console
irb> ActiveRecord::Base.logger = Logger.new(STDOUT)
irb> User.find(1)
  SQL (1.6ms)  SHOW TABLES
  User Load (0.6ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 AND (users.deleted_at IS NULL) LIMIT 1

参考資料

ActiveRecordが生成するSQLをRailsのコンソールで確認する方法 – donghai821の日記

 - Ruby on Rails ,