module BulkInsert::ClassMethods
Public Instance Methods
bulk_insert(*columns, values: nil, set_size:500, ignore: false, update_duplicates: false, return_primary_keys: false) { |worker| ... }
click to toggle source
# File lib/bulk_insert.rb, line 7 def bulk_insert(*columns, values: nil, set_size:500, ignore: false, update_duplicates: false, return_primary_keys: false) columns = default_bulk_columns if columns.empty? worker = BulkInsert::Worker.new(connection, table_name, primary_key, columns, set_size, ignore, update_duplicates, return_primary_keys) if values.present? transaction do worker.add_all(values) worker.save! end nil elsif block_given? transaction do yield worker worker.save! end nil else worker end end
default_bulk_columns()
click to toggle source
helper method for preparing the columns before a call to :bulk_insert
# File lib/bulk_insert.rb, line 29 def default_bulk_columns self.column_names - %w(id) end