Module: DataMapper::Constraints::DataObjectsAdapter::Migration::ClassMethods

Defined in:
lib/dm-constraints/data_objects_adapter.rb

Instance Method Summary collapse

Instance Method Details

#auto_migrate_constraints_down(repository_name, *descendants) ⇒ Object



67
68
69
70
71
72
73
74
75
76
77
# File 'lib/dm-constraints/data_objects_adapter.rb', line 67

def auto_migrate_constraints_down(repository_name, *descendants)
  descendants = DataMapper::Resource.descendants.to_a if descendants.empty?
  descendants.each do |model|
    if model.storage_exists?(repository_name)
      adapter = model.repository(repository_name).adapter
      next unless adapter.respond_to?(:destroy_constraints_statements)
      statements = adapter.destroy_constraints_statements(repository_name, model)
      statements.each {|stmt| adapter.execute(stmt) }
    end
  end
end

#auto_migrate_constraints_up(retval, repository_name, *descendants) ⇒ Object



79
80
81
82
83
84
85
86
87
# File 'lib/dm-constraints/data_objects_adapter.rb', line 79

def auto_migrate_constraints_up(retval, repository_name, *descendants)
  descendants = DataMapper::Resource.descendants.to_a if descendants.empty?
  descendants.each do |model|
    adapter = model.repository(repository_name).adapter
    next unless adapter.respond_to?(:create_constraints_statements)
    statements = adapter.create_constraints_statements(repository_name, model)
    statements.each {|stmt| adapter.execute(stmt) }
  end
end