Class: Samidare::EmbulkUtility::ConfigGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/samidare/embulk_utility.rb

Instance Method Summary collapse

Instance Method Details

#generate_config(database_configs, bq_config) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/samidare/embulk_utility.rb', line 4

def generate_config(database_configs, bq_config)
  bq_utility = BigQueryUtility.new(bq_config)

  database_configs.keys.each do |db_name|
    database_config = database_configs[db_name]
    table_configs = all_table_configs[db_name]
    mysql_client = MySQL::MySQLClient.new(database_config)

    table_configs.each do |table_config|
      write(
        "#{bq_config['schema_dir']}/#{db_name}",
        "#{table_config.name}.json",
        mysql_client.generate_bq_schema(table_config.name)
      )
      write(
        "#{bq_config['config_dir']}/#{db_name}",
        "#{table_config.name}.yml",
        bq_utility.generate_embulk_config(
          db_name,
          database_config,
          table_config,
          mysql_client.columns(table_config.name))
      )
    end
  end
end