method
build_insert_sql
v6.1.7.7 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::SQLite3Adapter
build_insert_sql(insert)public
No documentation available.
# File activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb, line 304
def build_insert_sql(insert) # :nodoc:
sql = +"INSERT #{insert.into} #{insert.values_list}"
if insert.skip_duplicates?
sql << " ON CONFLICT #{insert.conflict_target} DO NOTHING"
elsif insert.update_duplicates?
sql << " ON CONFLICT #{insert.conflict_target} DO UPDATE SET "
sql << insert.touch_model_timestamps_unless { |column| "#{column} IS excluded.#{column}" }
sql << insert.updatable_columns.map { |column| "#{column}=excluded.#{column}" }.join(",")
end
sql
end