gitlab-org--gitlab-foss/lib/gitlab/database
Yorick Peterse 79696f5b7a
Hash concurrent foreign key names similar to Rails
This was initially not implemented simply because I forgot about the
size limit of constraint names in PostgreSQL (63 bytes). Using the old
technique we can't add foreign keys for certain tables. For example,
adding a foreign key on
protected_branch_merge_access_levels.protected_branch_id would lead to
the following key name:

    fk_protected_branch_merge_access_levels_protected_branches_protected_branch_id

This key is 78 bytes long, thus violating the PostgreSQL size
requirements.

The hashing strategy is copied from Rails' foreign_key_name() method,
which unfortunately is private and subject to change without notice.
2017-02-21 15:07:02 +01:00
..
date_time.rb fixing spec failures 2016-11-17 08:22:55 +01:00
median.rb refactor fetcher and fixed specs 2017-01-17 11:32:55 +01:00
migration_helpers.rb Hash concurrent foreign key names similar to Rails 2017-02-21 15:07:02 +01:00