Method: ActiveRecord::ConnectionAdapters::AbstractAdapter#build_insert_sql

Defined in:
lib/active_record/connection_adapters/abstract_adapter.rb

#build_insert_sql(insert) ⇒ Object

Called by ActiveRecord::InsertAll, Passed an instance of ActiveRecord::InsertAll::Builder, This method implements standard bulk inserts for all databases, but should be overridden by adapters to implement common features with non-standard syntax like handling duplicates or returning values.



910
911
912
913
914
915
916
# File 'lib/active_record/connection_adapters/abstract_adapter.rb', line 910

def build_insert_sql(insert) # :nodoc:
  if insert.skip_duplicates? || insert.update_duplicates?
    raise NotImplementedError, "#{self.class} should define `build_insert_sql` to implement adapter-specific logic for handling duplicates during INSERT"
  end

  "INSERT #{insert.into} #{insert.values_list}"
end