Sha256: ed95e243992dac4cfdb265b2a0429a9332deef4b8876c5c7f2057e0bc65f63ca
Contents?: true
Size: 1.19 KB
Versions: 1
Compression:
Stored size: 1.19 KB
Contents
module RedshiftExtractor; class Extractor def initialize(args) @args = args end def config @config ||= OpenStruct.new(@args) end def run unload drop create copy end private def unloader Unload.new( aws_access_key_id: config.aws_access_key_id, aws_secret_access_key: config.aws_secret_access_key, s3_destination: config.unload_s3_destination, select_sql: config.unload_select_sql ) end def unload source_connection.exec(unloader.unload_sql) end def dropper Drop.new(table_name: config.table_name) end def drop destination_connection.exec(dropper.drop_sql) end def create destination_connection.exec(config.create_sql) end def copier Copy.new( aws_access_key_id: config.aws_access_key_id, aws_secret_access_key: config.aws_secret_access_key, data_source: config.copy_data_source, table_name: config.table_name ) end def copy destination_connection.exec(copier.copy_sql) end def destination_connection PGconn.connect(config.database_config_destination) end def source_connection PGconn.connect(config.database_config_source) end end; end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
redshift_extractor-0.2.0 | lib/redshift_extractor/extractor.rb |