Sha256: 559983a96b15391114e8912306d3c5ebbe715ec72928c5a2b63a3bb5491d1c79
Contents?: true
Size: 1.33 KB
Versions: 34
Compression:
Stored size: 1.33 KB
Contents
require 'flydata/source/sync_generate_table_ddl' require 'flydata/source_postgresql/table_meta' module Flydata module SourcePostgresql class SyncGenerateTableDdl < Source::SyncGenerateTableDdl def run_compatibility_check # do nothing for now end def data_source_type_display_name "PostgreSQL database" end def data_entry_prefs de['postgresql_data_entry_preference'] end def each_source_tabledef(tables, options, &block) # PostgreSQL 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::SourcePostgresql::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
34 entries across 34 versions & 1 rubygems