Sha256: 59e68ad07d92af5ad7bcca3d4e2fb3091491544ed961cf9ae6f1fbdbe22241e5

Contents?: true

Size: 515 Bytes

Versions: 6

Compression:

Stored size: 515 Bytes

Contents

require "abstract_importer/strategies/insert_strategy"
require "activerecord/insert_many"

module AbstractImporter
  module Strategies
    class UpsertStrategy < InsertStrategy

      def initialize(collection, options={})
        super
        @insert_options.merge!(on_conflict: { column: remap_ids? ? (association_attrs.keys + [:legacy_id]) : :id, do: :update })
      end

      # We won't skip any records for already being imported
      def already_imported?(hash)
        false
      end

    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
abstract_importer-1.5.5 lib/abstract_importer/strategies/upsert_strategy.rb
abstract_importer-1.5.4 lib/abstract_importer/strategies/upsert_strategy.rb
abstract_importer-1.5.3 lib/abstract_importer/strategies/upsert_strategy.rb
abstract_importer-1.5.2 lib/abstract_importer/strategies/upsert_strategy.rb
abstract_importer-1.5.1 lib/abstract_importer/strategies/upsert_strategy.rb
abstract_importer-1.5.0 lib/abstract_importer/strategies/upsert_strategy.rb