ActiveRecordが発行するSQLをHookしたい
解決
config/initializers/active_model_query_debug.rb
module ActiveModelQueryDebug def log(query, *args) # 'Model Load' are targeted if args.first&.end_with?("Load") Rails.logger.debug("query: #{query}") end super end end ActiveRecord::ConnectionAdapters::AbstractAdapter.prepend(ActiveModelQueryDebug) 動作
[1] pry(main)> User.first query: SELECT `users`.* FROM `users` ORDER BY `users`.`id` ASC LIMIT 1 User Load (1.3ms) SELECT `users`.* FROM `users` ORDER BY `users`.`id` ASC LIMIT 1 参考
active_record-sql_analyzer/sql_analyzer.rb at master · square/active_record-sql_analyzer
This post is licensed under CC BY 4.0 by the author.