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

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.

Assignee Loading
Time tracking Loading