class Polo::Adapters::MySQL

Public Instance Methods

ignore_transform(inserts, records) click to toggle source
# File lib/polo/adapters/mysql.rb, line 17
def ignore_transform(inserts, records)
  inserts.map do |insert|
    insert.gsub("INSERT", "INSERT IGNORE")
  end
end
on_duplicate_key_update(inserts, records) click to toggle source
# File lib/polo/adapters/mysql.rb, line 4
def on_duplicate_key_update(inserts, records)
  insert_and_record = inserts.zip(records)
  insert_and_record.map do |insert, record|
    values_syntax = record.attributes.keys.map do |key|
      "`#{key}` = VALUES(`#{key}`)"
    end

    on_dup_syntax = "ON DUPLICATE KEY UPDATE #{values_syntax.join(', ')}"

    "#{insert} #{on_dup_syntax}"
  end
end