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

Version Path
flydata-0.8.10.2 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.8.10.1 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.8.9.11 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.8.10 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.8.9 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.8.8 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.8.7 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.8.6 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.8.5 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.8.4 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.8.3 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.8.2 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.8.1 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.8.0 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.7.19 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.7.18 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.7.17 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.7.16 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.7.15 lib/flydata/source_postgresql/sync_generate_table_ddl.rb
flydata-0.7.14 lib/flydata/source_postgresql/sync_generate_table_ddl.rb