例如进入了 irb,并且 require 我的项目文件。(注:我用 sinatra 和 activerecord)
Post.find(1)
我不仅仅是需要查询结果,还想要的完整 sql 命令,最好能输出查询的所耗的时间。对于我这样的菜鸟来说,意义重大呀。
SELECT * FROM users WHERE id = 1
inspect 应该可以吧
在 rails 里由于带了 activerecord。所以我们在 rails console 里可以看到详细的查询。
我用 sinatra 的时候也用了 activerecord,但是不出来。而且最重要的是不知道怎么在 google 搜索。
刚刚终于搞定了,google 的搜索提示挺好的,猜了我不少我要搜索的关键词。
在项目文件里加上:
ActiveRecord::Base.logger = Logger.new(STDOUT)
还有一个细节问题,查询的颜色变化代表着什么。 我第一次 query,显示粉蓝色,第二次显示紫色。第三次又是粉蓝色,第四次又是紫色。反复循环。
#3 楼 @metal 为了区分,没其他意思
rails c 不就有么
scope.to_sql 就可以显示当前查询语句。
输出 SQL 查询时间的话原则上在架构设计时就应该估量,调优可以用 request-log-analyzer 来分析日志入手。
#6 楼 @mvj3 谢谢。