Class: Dbsketch::Comparison::UniqueConstraintComparator

Inherits:
Object
  • Object
show all
Defined in:
lib/dbsketch/comparison/unique_constraint_comparator.rb

Instance Method Summary collapse

Instance Method Details

#are_equivalent?(old_constraint, new_constraint) ⇒ Boolean

Returns:

  • (Boolean)

Raises:

  • (ArgumentError)


27
28
29
30
31
32
33
# File 'lib/dbsketch/comparison/unique_constraint_comparator.rb', line 27

def are_equivalent? old_constraint, new_constraint
	### Preconditions
	raise ArgumentError, "old_constraint is not a Dbsketch::Model::UniqueConstraint" unless nil == old_constraint or old_constraint.is_a? Dbsketch::Model::UniqueConstraint
	raise ArgumentError, "new_constraint is not a Dbsketch::Model::UniqueConstraint" unless nil == new_constraint or new_constraint.is_a? Dbsketch::Model::UniqueConstraint
	###
	(nil != old_constraint and nil != new_constraint) and columns(old_constraint, new_constraint).empty?
end

#compare(old_constraint, new_constraint) ⇒ Object

Returns a UniqueConstraintDiff if tables are different, nil otherwise

Raises:

  • (ArgumentError)


36
37
38
39
40
41
42
# File 'lib/dbsketch/comparison/unique_constraint_comparator.rb', line 36

def compare old_constraint, new_constraint
	### Preconditions
	raise ArgumentError, "old_constraint is not a Dbsketch::Model::UniqueConstraint" unless nil == old_constraint or old_constraint.is_a? Dbsketch::Model::UniqueConstraint
	raise ArgumentError, "new_constraint is not a Dbsketch::Model::UniqueConstraint" unless nil == new_constraint or new_constraint.is_a? Dbsketch::Model::UniqueConstraint
	###
	UniqueConstraintDiff.new(old_constraint, new_constraint, columns(old_constraint, new_constraint)) if not are_equivalent? old_constraint, new_constraint
end