Method: ETL::Processor::BulkImportProcessor#process

Defined in:
lib/etl/processor/bulk_import_processor.rb

#processObject

Execute the processor



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/etl/processor/bulk_import_processor.rb', line 53

def process
  return if ETL::Engine.skip_bulk_import
  return if File.size(file) == 0
  
  conn = ETL::Engine.connection(target)
  conn.transaction do
    conn.truncate(table_name) if truncate
    options = {}
    options[:columns] = columns
    if field_separator || field_enclosure
      options[:fields] = {}
      options[:fields][:delimited_by] = field_separator if field_separator
      options[:fields][:enclosed_by] = field_enclosure if field_enclosure
      options[:fields][:terminated_by] = line_separator if line_separator
    end
    conn.bulk_load(file, table_name, options)
  end
end