class Erde::DatabaseTransformer

Public Class Methods

new(url) click to toggle source
# File lib/erde/cli.rb, line 61
def initialize(url)
  @url = url
end

Public Instance Methods

to_hash() click to toggle source
# File lib/erde/cli.rb, line 65
def to_hash
  generated_hash = {}

  Sequel.connect(@url) do |db|
    db.tables.each do |table|
      generated_hash[table] = {}
      generated_hash[table]['columns'] = []
      generated_hash[table]['relations'] = {}

      generated_hash[table]['columns'] = db.schema(table).map(&:first)

      db.foreign_key_list(table).each do |foreign_key|
        generated_hash[table]['relations'][foreign_key[:columns].first] = {
          'table' => foreign_key[:table],
          'column' => foreign_key[:key].first
        }
      end
    end
  end

  generated_hash
end