Module: TimeRangeUniqueness::ConstraintNaming
- Defined in:
- lib/time_range_uniqueness/constraint_naming.rb
Class Method Summary collapse
Class Method Details
.default_constraint_name(table, scope_columns, time_range_column) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/time_range_uniqueness/constraint_naming.rb', line 11 def default_constraint_name(table, scope_columns, time_range_column) name = "exclude_#{table}_on_#{[scope_columns, time_range_column].flatten.join('_')}" return name if name.length <= MAX_IDENTIFIER_LENGTH digest = Digest::SHA256.hexdigest(name)[0, 10] "#{name[0, MAX_IDENTIFIER_LENGTH - digest.length - 1]}_#{digest}" end |