class Mv::Core::Migration::Base
Constants
- SUPPORTED_METHODS
Attributes
operations_factory[R]
operations_list[R]
Public Class Methods
new()
click to toggle source
# File lib/mv/core/migration/base.rb, line 20 def initialize() @operations_list = Mv::Core::Migration::Operations::List.new @operations_factory = Mv::Core::Migration::Operations::Factory.new() end
Public Instance Methods
add_column(table_name, column_name, opts)
click to toggle source
# File lib/mv/core/migration/base.rb, line 57 def add_column table_name, column_name, opts return unless opts.present? unless disabled_validations? operation = operations_factory.create_operation(:add_column, table_name, column_name, opts) operations_list.add_operation(operation) end end
execute()
click to toggle source
# File lib/mv/core/migration/base.rb, line 35 def execute if operations_list.present? Mv::Core::Services::CreateMigrationValidatorsTable.new.execute constraints_loader = Mv::Core::Services::LoadConstraints.new(operations_list.tables) old_constraints = constraints_loader.execute operations_list.execute() new_constraints = constraints_loader.execute constraints_comparizon = Mv::Core::Services::CompareConstraintArrays.new(old_constraints, new_constraints) .execute Mv::Core::Services::SynchronizeConstraints.new(constraints_comparizon[:added], constraints_comparizon[:updated], constraints_comparizon[:deleted]) .execute end end
with_suppressed_validations() { || ... }
click to toggle source
# File lib/mv/core/migration/base.rb, line 66 def with_suppressed_validations disable_validations! yield enable_validations! end
Private Instance Methods
disable_validations!()
click to toggle source
# File lib/mv/core/migration/base.rb, line 84 def disable_validations! @disabled_validations = true end
disabled_validations?()
click to toggle source
# File lib/mv/core/migration/base.rb, line 80 def disabled_validations? !!@disabled_validations end
enable_validations!()
click to toggle source
# File lib/mv/core/migration/base.rb, line 88 def enable_validations! @disabled_validations = false end