How to implement bulk insert in Rails 3
activerecord, arel, ruby-on-rails, ruby-on-rails-3
Solution
activerecord-import implements AR#import
activerecord-import is a library for bulk inserting data using ActiveRecord.
see how it works:
books = []
10.times do |i|
books << Book.new(:name => "book #{i}")
end
Book.import books
Project's home is on Github and it's wiki.
Problem
I need to insert a array of emails as different records into my contacts table. How can this be done. ``` Eg: @email = ["a@b.com", "c@d.com", "e@f.com", ... ] ``` I dont want to use. ``` @email.each do |email| @contact = Contact.new @contact.email = email @contact.save end ``` This cause n insert quires. I just need a single insert query to insert these values. How can this be done in rails 3.0.9 (and ideally MySQL). Please help