MENU

modelを経由しないでSQLでDBに直接レコードを作れる

f:id:spreadthec0ntents:20220317091531p:plain

やり方

# 接続するDBのconfigを読み込む
conf = Rails.configuration.database_configuration[Rails.env]
# DBと接続する
ActiveRecord::Base.establish_connection(conf)
# クエリを実行する
ActiveRecord::Base.connection.execute("INSERT INTO~")

使い所

 validationを突破するとか、saveやupdateの際に走る処理を経由したくないイレギュラーなことをしたい時。
 例えば、DBに入ってしまった不正なデータを読み込んだ時にどうなるかをテストする時とか良さそう。
 使う機会はあまりなさそう。