ActiveRecordから生のクエリを実行する

ActiveRecord::Base.connection.execute(sql)

返ってくるのは生のResultSetなので、アプリ側で解釈する必要がある。以下の例ではMySQLの場合。

rs = ActiveRecord::Base.connection.execute("show processlist")
puts rs.class #=> Mysql::Result
rs.each{|row| p row}


あまり利用シーンはないが、update文などをRailsから実行させたいときに使える。