activerecord-import
概要
ActiveRecord を使用してデータをバルクインサートするためのライブラリ
code:ruby
10.times do |i|
Book.create! name: "book #{i}" end
普通のやり方だと10回のSQL呼び出しが起こる
code:ruby
books = []
10.times do |i|
books << Book.new(name: "book #{i}") end
Book.import books # あるいは import! を使用してください
1回のSQL呼び出しのみ
関連付けも含めてimportする
code:ruby
books = []
10.times do |i|
book = Book.new(name: "book #{i}") book.reviews.build(title: "Excellent")
books << book
end
Book.import books, recursive: true
ActiveRecordオブジェクト + PostgreSQLじゃないと再帰的importは使えないらしい 参照