【发布时间】:2015-09-04 05:56:39
【问题描述】:
我一直在网上到处寻找答案,但没有运气。我在哪里输入查询?在轨道 c?我知道我必须使用 ActiveRecord::base.connection 但我不知道它必须在哪里运行。对不起,如果这是一个愚蠢的问题。
【问题讨论】:
标签: sql ruby-on-rails activerecord
我一直在网上到处寻找答案,但没有运气。我在哪里输入查询?在轨道 c?我知道我必须使用 ActiveRecord::base.connection 但我不知道它必须在哪里运行。对不起,如果这是一个愚蠢的问题。
【问题讨论】:
标签: sql ruby-on-rails activerecord
Rails 使用称为 ActiveRecord 的 ORM 与 SQL 数据库交互:
http://guides.rubyonrails.org/active_record_basics.html
语法很简单,您可以通过使用rails console(缩写为rails c)打开rails 控制台来输入查询。
例如,如果我想查找 Question 表中的所有记录,我打开控制台并简单地输入Question.all:
irb(main):001:0> Question.all
...转换为以下 SQL 查询:
Question Load (4.2ms) SELECT 'questions'.* FROM 'questions'
如果您想在 rails 控制台中执行原始 SQL 命令,您可以使用ActiveRecord::Base.connection.execute(some_string) 将 SQL 作为字符串对象。
您可以直接将 SQL 字符串写为参数,也可以预先将其声明为变量:
sql = "some raw sql"
ActiveRecord::Base.connection.execute(sql)
查看这个问题了解更多信息:Rails raw SQL example
【讨论】: