ActiveRecordで特定の処理中に発行されたクエリとクエリ数を表示する

2017/11/10

下記の記事を大いに参考にさせてもらった。

ActiveRecordで発行されたクエリの数を計測してテストに利用する - Qiita

queryの中身も見たかったし、スレッドにする必要はなかったので少し変更した。

query_count = 0
count_up = lambda do |*_args|
  query_count += 1
  p "#{query_count}: #{_args[4][:sql]}"
end
ActiveSupport::Notifications.subscribed(count_up, 'sql.active_record') do
  User.count
end