Class: Samidare::EmbulkUtility::ConfigGenerator
- Inherits:
-
Object
- Object
- Samidare::EmbulkUtility::ConfigGenerator
- Defined in:
- lib/samidare/embulk_utility.rb
Instance Method Summary collapse
- #generate_config ⇒ Object
-
#initialize(bq_config) ⇒ ConfigGenerator
constructor
A new instance of ConfigGenerator.
Constructor Details
#initialize(bq_config) ⇒ ConfigGenerator
Returns a new instance of ConfigGenerator.
9 10 11 |
# File 'lib/samidare/embulk_utility.rb', line 9 def initialize(bq_config) @bq_config = bq_config.dup end |
Instance Method Details
#generate_config ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/samidare/embulk_utility.rb', line 13 def generate_config db_infos = EmbulkUtility::DBInfo.generate_db_infos table_infos = EmbulkUtility::TableInfo.generate_table_infos bq_utility = BigQueryUtility.new(@bq_config) db_infos.keys.each do |db_name| db_info = db_infos[db_name] table_info = table_infos[db_name] mysql_client = EmbulkUtility::MySQLClient.new(db_info) table_info.each do |table| write( "#{@bq_config['schema_dir']}/#{db_name}", "#{table.name}.json", mysql_client.generate_bq_schema(table.name) ) write( "#{@bq_config['config_dir']}/#{db_name}", "#{table.name}.yml", bq_utility.generate_embulk_config(db_name, db_info, table, mysql_client.column_infos(table.name)) ) end end end |