【问题标题】:ActiveRecord generated SQL in Rails 3在 Rails 3 中 ActiveRecord 生成 SQL
【发布时间】:2011-02-02 12:09:13
【问题描述】:

我正在开展一个项目,该项目需要与两个不同的数据库进行交互:一个用于持久数据的 MySQL,一个用于实时数据的实验性内存数据库。

如果有一种方法可以访问和使用 ActiveRecord 查找器生成的 SQL 查询,那会让我的生活更轻松。


我知道在这些方面还有其他问题,但他们的答案似乎建议将 SQL 记录到 STDOUT 并且不适用于 Rails 3

【问题讨论】:

  • 我不太明白,to_sql 能回答你的问题吗?
  • 我不知道如何使用它,我尝试在 Model.all 上调用 to_sql 但这似乎返回了结果字符串

标签: sql ruby-on-rails ruby-on-rails-3 activerecord


【解决方案1】:

Model.all 执行查询,您正尝试在数组上调用 to_sql

这样做

Model.scoped.to_sql

【讨论】:

  • 是的,我知道我做错了。 scoped 似乎正是我正在寻找的东西,它可以进行全方位的查询吗?
  • 你可以链接作用域,最后调用to_sql。这适用于我的模型 User.where("1=1").joins(:user_info).to_sql 产生 "SELECT users.* FROM users INNER JOIN user_infos ON user_infos.user_id = @ 987654329@.id WHERE (1=1)"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-06
  • 1970-01-01
相关资源
最近更新 更多