跟踪Ruby-on-Rails创建的SQL查询

时间:2009-10-21 13:26:25

标签: sql ruby-on-rails

在我正在开发的Web应用程序中,我执行了很多数据库查询。我想知道代码的哪些部分正在生成这些查询,以便我可以重构代码来减少它们。有一个简单的方法吗?

通常,数据库查询类似于:

SELECT count(*) AS count_all FROM 'stores' WHERE ('stores'.'distributor_id' = 1)

非常感谢您的建议!

GAV株系

2 个答案:

答案 0 :(得分:3)

我认为你正在寻找QueryTrace

答案 1 :(得分:1)

要在Ruby on Rails控制台上显示查询的SQL,请按照以下步骤操作:

if ENV.include?('RAILS_ENV') && !Object.const_defined?('RAILS_DEFAULT_LOGGER')
  require 'logger'
  RAILS_DEFAULT_LOGGER = Logger.new(STDOUT)
end


path_to_project$ sc
Loading development environment (Rails 2.3.7)
>> User.first
  User Load (0.8ms)   SELECT * FROM users LIMIT 1