Class: Masamune::Transform::Postgres::BulkUpsert::TargetPresenter

Inherits:
SimpleDelegator
  • Object
show all
Includes:
LastElement
Defined in:
lib/masamune/transform/postgres/bulk_upsert.rb

Instance Method Summary collapse

Methods included from LastElement

#last_element

Instance Method Details

#insert_columnsObject



48
49
50
# File 'lib/masamune/transform/postgres/bulk_upsert.rb', line 48

def insert_columns
  columns.values.reject { |column| column.surrogate_key || column.auto_reference || column.ignore }
end

#unique_columnsObject



53
54
55
# File 'lib/masamune/transform/postgres/bulk_upsert.rb', line 53

def unique_columns
  columns.values.select { |column| column.unique.any? && !column.null }
end

#update_columnsObject



43
44
45
# File 'lib/masamune/transform/postgres/bulk_upsert.rb', line 43

def update_columns
  columns.values.reject { |column| reserved_column_ids.include?(column.id) || column.surrogate_key || column.natural_key || column.unique.any? || column.auto_reference || column.ignore }
end