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

🎳 参考リンク

📚 おすすめの書籍

🖥 サーバについて

このブログでは「Cloud Garage」さんのDev Assist Program(開発者向けインスタンス無償提供制度)でお借りしたサーバで技術検証しています。 Dev Assist Programは、開発者や開発コミュニティ、スタートアップ企業の方が1GBメモリのインスタンス3台を1年間無料で借りれる心強い制度です!(有償でも1,480円/月と格安)