Active Recordで生SQLを実行


Active Recordから生のSQLを実行する手順です。

🍣 execute: SQLを実行したい場合

任意のSQLを実行したい場合は次のコードを実行します。

sql = 'SELECT NOW()'
ActiveRecord::Base.connection.execute(sql)

PG::ResultなどDBアダプタ依存のオブジェクトを返すため、作成や更新SQLを実行したい場合に使うべきです。

🗻 select_all: 検索結果

SQLの実行結果として、ActiveRecord::Resultを返します。
#to_hashを使うことで、結果をHashの配列として取得できます。

sql = 'SELECT * FROM users'
ActiveRecord::Base.connection.select_all(sql).to_hash

🐯 参考リンク

📚 おすすめの書籍