method
sequence_name_from_parts
v5.2.3 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::PostgreSQLColumn
sequence_name_from_parts(table_name, column_name, suffix)private
No documentation available.
# File activerecord/lib/active_record/connection_adapters/postgresql/column.rb, line 27
def sequence_name_from_parts(table_name, column_name, suffix)
over_length = [table_name, column_name, suffix].map(&:length).sum + 2 - max_identifier_length
if over_length > 0
column_name_length = [(max_identifier_length - suffix.length - 2) / 2, column_name.length].min
over_length -= column_name.length - column_name_length
column_name = column_name[0, column_name_length - [over_length, 0].min]
end
if over_length > 0
table_name = table_name[0, table_name.length - over_length]
end
"#{table_name}_#{column_name}_#{suffix}"
end