Sinatra 有什么方法可以在终端显示出数据库查询命令

metal · August 26, 2012 · Last by metal replied at August 27, 2012 · 4137 hits

例如进入了 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 为了区分,没其他意思

Unknow user #5 August 26, 2012

rails c 不就有么

scope.to_sql 就可以显示当前查询语句。

输出 SQL 查询时间的话原则上在架构设计时就应该估量,调优可以用 request-log-analyzer 来分析日志入手。

You need to Sign in before reply, if you don't have an account, please Sign up first.