class RedshiftExtractor::Extractor
Public Class Methods
new(args)
click to toggle source
# File lib/redshift_extractor/extractor.rb, line 3 def initialize(args) @args = args end
Public Instance Methods
config()
click to toggle source
# File lib/redshift_extractor/extractor.rb, line 7 def config @config ||= OpenStruct.new(@args) end
run()
click to toggle source
# File lib/redshift_extractor/extractor.rb, line 11 def run unload copy end
Private Instance Methods
copier()
click to toggle source
# File lib/redshift_extractor/extractor.rb, line 35 def copier args = { schema: config.destination_schema, table: config.destination_table, create_sql: config.create_sql, aws_access_key_id: config.aws_access_key_id, aws_secret_access_key: config.aws_secret_access_key, s3_path: config.copy_data_source, db_config: config.database_config_destination, copy_command_options: "manifest dateformat 'auto' timeformat 'auto' blanksasnull emptyasnull escape gzip removequotes delimiter '|';" } RedshiftCopier::Copy.new(args) end
copy()
click to toggle source
# File lib/redshift_extractor/extractor.rb, line 31 def copy copier.run end
source_connection()
click to toggle source
# File lib/redshift_extractor/extractor.rb, line 49 def source_connection PGconn.connect(config.database_config_source) end
unload()
click to toggle source
# File lib/redshift_extractor/extractor.rb, line 27 def unload source_connection.exec(unloader.unload_sql) end
unloader()
click to toggle source
# File lib/redshift_extractor/extractor.rb, line 18 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