method
new
v6.0.0 -
Show latest stable
- Class:
ActiveRecord::InsertAll
new(model, inserts, on_duplicate:, returning: nil, unique_by: nil)public
No documentation available.
# File activerecord/lib/active_record/insert_all.rb, line 8
def initialize(model, inserts, on_duplicate,, returning: nil, unique_by: nil)
raise ArgumentError, "Empty list of attributes passed" if inserts.blank?
@model, @connection, @inserts, @keys = model, model.connection, inserts, inserts.first.keys.map(&:to_s).to_set
@on_duplicate, @returning, @unique_by = on_duplicate, returning, unique_by
@returning = (connection.supports_insert_returning? ? primary_keys : false) if @returning.nil?
@returning = false if @returning == []
@unique_by = find_unique_index_for(unique_by) if unique_by
@on_duplicate = :skip if @on_duplicate == :update && updatable_columns.empty?
ensure_valid_options_for_connection!
end