Skip to content

Resolve "Allow migration helpers to create a new foreign key for an existing column, but with a different name"

What does this MR do?

Fixes #36454 (closed)

Currently, we are not able to add a new foreign key to a table (even with a different foreign key name), if a foreign key already exists for that column.

PostgreSQL supports providing multiple foreign keys to the same column, but our migration helpers don't.

As discussed in !19617 (comment 242273290), this change can help us add a new foreign key with a constraint before removing an existing foreign key for the same column and thus prevent cases where we have a short duration of time where there are no foreign key constraint associated with a table, which could lead to data inconsistency.

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Manoj M J

Merge request reports