Module: EnterpriseMti::Migration

Defined in:
lib/enterprise_mti/migration/migration.rb,
lib/enterprise_mti/migration/sql_factory/sql_factory.rb,
lib/enterprise_mti/migration/sql_factory/postgres_sql_factory.rb

Defined Under Namespace

Modules: SqlFactory

Instance Method Summary collapse

Instance Method Details

#enterprise_mti_down(opts = {}) ⇒ Object



28
29
30
# File 'lib/enterprise_mti/migration/migration.rb', line 28

def enterprise_mti_down(opts={})
  enterprise_mti_run opts.merge!(direction: :down)
end

#enterprise_mti_run(opts = {}) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/enterprise_mti/migration/migration.rb', line 6

def enterprise_mti_run(opts={})
  if opts[:superclass_table] && opts[:subclass_tables] && opts[:direction]

    case Rails.configuration.database_configuration[Rails.env]['adapter']
    when 'postgresql'
      sql_factory = SqlFactory::PostgresSqlFactory.new
    end

    sql_factory.superclass_table = opts[:superclass_table]
    sql_factory.subclass_tables = opts[:subclass_tables]

    sql = sql_factory.sql_for_up if opts[:direction] == :up
    sql = sql_factory.sql_for_down if opts[:direction] == :down
    
    execute sql
  end
end

#enterprise_mti_up(opts = {}) ⇒ Object



24
25
26
# File 'lib/enterprise_mti/migration/migration.rb', line 24

def enterprise_mti_up(opts={})
  enterprise_mti_run opts.merge!(direction: :up)
end