class Sped2DB::DbTools

Constants

DEFAULT_DATABASES

Public Class Methods

new(db, layout) click to toggle source
# File lib/sped2db/db_tools.rb, line 11
def initialize(db, layout)
  @db = db
  @layout = layout
end

Public Instance Methods

create_database() click to toggle source
# File lib/sped2db/db_tools.rb, line 22
def create_database
  db_opts = @db.opts.dup
  adapter = db_opts[:adapter].to_sym

  return unless DEFAULT_DATABASES.keys.include? adapter

  db_name = db_opts[:database]
  db_opts[:database] = DEFAULT_DATABASES[adapter]

  Sequel.connect(db_opts) do |db|
    db.run "create database #{db_name}"
  end
end
create_tables() click to toggle source
# File lib/sped2db/db_tools.rb, line 36
def create_tables
  directory = "../../../migrations/#{@layout.type}/v#{@layout.version}"
  Sequel::Migrator.run @db, File.expand_path(directory, __FILE__)

  # @db.drop_table? :schema_info
end
exists?() click to toggle source
# File lib/sped2db/db_tools.rb, line 16
def exists?
  @db.test_connection
rescue Sequel::DatabaseConnectionError
  false
end