class RedshiftConnector::Importer::RebuildTruncate
Public Class Methods
new(dao:, columns:, logger: RedshiftConnector.logger)
click to toggle source
# File lib/redshift_connector/importer/rebuild_truncate.rb, line 6 def initialize(dao:, columns:, logger: RedshiftConnector.logger) @dao = dao @columns = columns @logger = logger end
Public Instance Methods
execute(bundle)
click to toggle source
# File lib/redshift_connector/importer/rebuild_truncate.rb, line 12 def execute(bundle) truncate_table(@dao.table_name) import(bundle) end
import(bundle)
click to toggle source
# File lib/redshift_connector/importer/rebuild_truncate.rb, line 23 def import(bundle) @logger.info "IMPORT #{bundle.url}* -> #{@dao.table_name} (#{@columns.join(', ')})" bundle.each_batch do |rows| @dao.import(@columns, rows) end end
truncate_table(table_name)
click to toggle source
# File lib/redshift_connector/importer/rebuild_truncate.rb, line 17 def truncate_table(table_name) @logger.info "TRUNCATE #{table_name}" @dao.connection.execute("truncate #{table_name}") @logger.info "truncated." end