ruby-on-rails 如何在Rails服务器控制台中显示SQL查询的来源?

dsekswqp  于 5个月前  发布在  Ruby
关注(0)|答案(3)|浏览(73)

在开发模式下,我希望能够在控制台中看到SQL查询被触发的位置。
当前在我的控制台中显示的是什么(愚蠢的示例查询)

User Load (1.7ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 65 LIMIT 1

字符串
我希望看到的

application_controller.rb:68
User Load (1.7ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 65 LIMIT 1

uz75evzq

uz75evzq1#

对于未来的谷歌人:gem active_record_query_trace也可以做到这一点,甚至更多。

9cbw7uwe

9cbw7uwe3#

从Rails 6+开始(可能更早),不需要额外的gem,该功能现在内置在Rails中。

ActiveRecord.verbose_query_logs = true

字符串
请参阅Rails指南:Rails应用程序:详细查询。
您也可以在应用程序配置中设置它。

config.active_record.verbose_query_logs = true


它甚至在Rails 7+中默认启用。请参阅Rails指南:配置Rails应用程序。

相关问题