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

metal · 2012年08月26日 · 最后由 metal 回复于 2012年08月27日 · 4136 次阅读

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

匿名 #5 2012年08月26日

rails c 不就有么

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

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

需要 登录 后方可回复, 如果你还没有账号请 注册新账号