Alex Rivera | Logout

How to implement bulk insert in Rails 3

Asked 2011-12-14T13:25:16.660
23

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

Edit
Report

1 Answer

1

I just wrote a little monkey-patch for Active Record 3.2 to INSERT many new records with a single SQL query, check it out:

https://github.com/alexdowad/showcase/blob/master/activerecord/bulk_db_operations.rb

answered 2013-04-11T11:25:43.887

Your Answer