redshift_extractor 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d6b1a776fcff84a096fd9e510d1774fcd006191d
4
- data.tar.gz: 0a69e8eb4ad78653b47a0151c9e6bd1d3389dbeb
3
+ metadata.gz: efa20918ea071a3450d6a62cd675e89744f76321
4
+ data.tar.gz: 3fb762b159c2d28203d75a5f87b63b101511ba4f
5
5
  SHA512:
6
- metadata.gz: 32c29672a4b5ed08a44d56ccdd6e4447b0cddf48f1a5b534b0102ac6235cd4c3e927ae8bd9acfaf262f856bbef1a59131902122350d0c77329d65d1a92685bb1
7
- data.tar.gz: d2ef768e4d19c90b0cb71617e019ba5365e05a65b2ad5f7f8e8d1acf49d4315cbe27d46518b1d7d25ed13c605d4f2b6028ca5df7f341a3079d87138ac3c392a4
6
+ metadata.gz: 02377cc2c4d433b56a09f6054bdba298349cb8aed7177f33c5cacad100f4edb03fa29679bfcb24bc5900e8110331bdf465b87f0b72fd5ad02c111b308ed914d5
7
+ data.tar.gz: cc0b7c84cd915d6ec25215f2cd025c73878045e68e0a1f898280d0f18e6a6e89a70160b4c634dc1de428477e668ada029f7de3bb9baf51ebc575b7cb415e4a4e
data/README.md CHANGED
@@ -18,7 +18,7 @@ One database connection is established with the source database to UNLOAD the da
18
18
 
19
19
  ## Running the Code
20
20
 
21
- The RedshiftExtractor::Extractor class is instantiated with a long hash of arguments.
21
+ The `RedshiftExtractor::Extractor` class is instantiated with a long hash of arguments ([sorry Sandi Metz!](https://robots.thoughtbot.com/sandi-metz-rules-for-developers)).
22
22
 
23
23
  ```ruby
24
24
  args = {
@@ -26,7 +26,8 @@ args = {
26
26
  database_config_destination: "database_config_destination",
27
27
  unload_s3_destination: "unload_s3_destination",
28
28
  unload_select_sql: "unload_select_sql",
29
- table_name: "table_name",
29
+ destination_schema: "destination_schema",
30
+ destination_table: "destination_table",
30
31
  create_sql: "create_sql",
31
32
  copy_data_source: "copy_data_source",
32
33
  aws_access_key_id: "aws_access_key_id",
@@ -56,9 +57,9 @@ Here is a description of the parameters:
56
57
 
57
58
  - unload_select_sql: A SQL SELECT query that will be run on the source table
58
59
 
59
- - table_name: The table that will be dropped, recreated, and populated with data from the COPY command
60
+ - destination_schema, destination_table: The table that will be dropped, recreated, and populated with data from the COPY command
60
61
 
61
- - create_sql: The SQL that creates the table_name table (this SQL is run to recreate the table in the step above)
62
+ - create_sql: The SQL that creates the destination_schema.destination_table table (this SQL is run to recreate the table in the step above)
62
63
 
63
64
  - copy_data_source: This is typically `"#{unload_s3_destination}manifest"`. The UNLOAD command automatically creates a manifest file that can be used by the COPY command to load the data.
64
65
 
@@ -1,16 +1,17 @@
1
1
  module RedshiftExtractor; class Copy
2
2
 
3
- attr_reader :aws_access_key_id, :aws_secret_access_key, :data_source, :table_name
3
+ attr_reader :aws_access_key_id, :aws_secret_access_key, :data_source, :destination_schema, :destination_table
4
4
 
5
5
  def initialize(args)
6
6
  @aws_access_key_id = args.fetch(:aws_access_key_id)
7
7
  @aws_secret_access_key = args.fetch(:aws_secret_access_key)
8
8
  @data_source = args.fetch(:data_source)
9
- @table_name = args.fetch(:table_name)
9
+ @destination_schema = args.fetch(:destination_schema)
10
+ @destination_table = args.fetch(:destination_table)
10
11
  end
11
12
 
12
13
  def copy_sql
13
- "copy #{table_name} from '#{data_source}'"\
14
+ "copy #{destination_schema}.#{destination_table} from '#{data_source}'"\
14
15
  " credentials '#{credentials}'"\
15
16
  " manifest dateformat 'auto' timeformat 'auto' blanksasnull emptyasnull escape gzip removequotes delimiter '|';"
16
17
  end
@@ -1,13 +1,14 @@
1
1
  module RedshiftExtractor; class Drop
2
2
 
3
- attr_reader :table_name
3
+ attr_reader :destination_schema, :destination_table
4
4
 
5
5
  def initialize(args)
6
- @table_name = args.fetch(:table_name)
6
+ @destination_schema = args.fetch(:destination_schema)
7
+ @destination_table = args.fetch(:destination_table)
7
8
  end
8
9
 
9
10
  def drop_sql
10
- "drop table if exists #{table_name};"
11
+ "drop table if exists #{destination_schema}.#{destination_table};"
11
12
  end
12
13
 
13
14
  end; end
@@ -31,7 +31,10 @@ module RedshiftExtractor; class Extractor
31
31
  end
32
32
 
33
33
  def dropper
34
- Drop.new(table_name: config.table_name)
34
+ Drop.new(
35
+ destination_schema: config.destination_schema,
36
+ destination_table: config.destination_table
37
+ )
35
38
  end
36
39
 
37
40
  def drop
@@ -47,7 +50,8 @@ module RedshiftExtractor; class Extractor
47
50
  aws_access_key_id: config.aws_access_key_id,
48
51
  aws_secret_access_key: config.aws_secret_access_key,
49
52
  data_source: config.copy_data_source,
50
- table_name: config.table_name
53
+ destination_schema: config.destination_schema,
54
+ destination_table: config.destination_table
51
55
  )
52
56
  end
53
57
 
@@ -1,3 +1,3 @@
1
1
  module RedshiftExtractor
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redshift_extractor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - MrPowers
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-10-31 00:00:00.000000000 Z
11
+ date: 2016-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler