Method: ETL::Generator::SurrogateKeyGenerator#initialize

Defined in:
lib/etl/generator/surrogate_key_generator.rb

#initialize(options = {}) ⇒ SurrogateKeyGenerator

Initialize the generator



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/etl/generator/surrogate_key_generator.rb', line 13

def initialize(options={})
  @table = options[:table]
  @target = options[:target]
  @column = options[:column] || 'id'
  @query = options[:query]
  
  if table
    @surrogate_key = ETL::Engine.connection(target).select_value("SELECT max(#{column}) FROM #{table_name}")
  elsif query
    @surrogate_key = ETL::Engine.connection(target).select_value(query)
  end
  @surrogate_key = 0 if @surrogate_key.blank?
  @surrogate_key = @surrogate_key.to_i
end