Sha256: 2a380704cf9d846ec9e8d3de9bceaa9a5cf3ccd03e1422e606044088b81f4614
Contents?: true
Size: 1.3 KB
Versions: 21
Compression:
Stored size: 1.3 KB
Contents
require 'flydata/source/sync_generate_table_ddl' require 'flydata/source_oracle/table_meta' module Flydata module SourceOracle class SyncGenerateTableDdl < Source::SyncGenerateTableDdl def run_compatibility_check # do nothing for now end def data_source_type_display_name "Oracle database" end def data_entry_prefs de['oracle_data_entry_preference'] end def each_source_tabledef(tables, options, &block) # Oracle options. tables = tables.clone if tables.to_s == '' || tables.to_s == '[]' raise ArgumentError, "tables is nil or empty" end _each_tabledef(tables, options, &block) end private def table_meta(tables, options) Flydata::SourceOracle::TableMeta.new(options, tables) end def _each_tabledef(tables, options, &block) all_table_meta = options[:table_meta] unless all_table_meta all_table_meta = table_meta(tables, options) all_table_meta.reload end missing_tables = [] tables.each do |table| t_meta = all_table_meta[table] unless t_meta && !t_meta.empty? missing_tables << table next end table_def = t_meta[:table_def] if table_def yield(table_def, nil) else yield(nil, t_meta[:table_def_err]) end end missing_tables end end end end
Version data entries
21 entries across 21 versions & 1 rubygems