User.find
みたいにできたらまあそれはそうなんだけど、 model がないと実行できないので生 SQL を実行する。 まず model がないってなんだよ、と言われたら無いもんはないので……。
ActiveRecord::Base.connection.select_all('SQL を書く').to_hash
例
こんな感じで。 標準の console だと整形とか色付けがされるので、 SQL 実行はだいたい想定通りの速度だけど、標準出力に戻ってくるまでがかなり長いので、1000 件以上を目安に適度に LIMIT かけましょう。
❯ rails consiole [1] pry(main)> ActiveRecord::Base.connection.select_all('SELECT * FROM users').to_hash [ [1] { "id" => 1, "login" => "hogehoge@example.com", ... "created_at" => 2023-07-14 14:00:32 +0900, "updated_at" => 2023-07-14 19:02:12 +0900 }, ... ]