Swap bigint columns on merge_request_diffs

What does this MR do and why?

This is the Step 2 of bigint migration on merge_request_diffs table.

We've create foreign keys and indexes asynchronously in !195722 (merged) and !196778 (merged) to reduce the risk during the column swaps. Now this MR does the column swap and some clean ups.

The first migration file swaps the existing ID columns with their bigint versions, updating all related database indexes, foreign key relationships, and constraints to use the new bigint version.

The second migration cleans up by removing temporary indexes that were created during the conversion process, since they're no longer needed after the swap is complete.

Considering it interacts with some of the busiest tables, the migration might fail and may need to be retried. The migration can be retried until it succeeds. Please reach out to either @dskim_gitlab or @krasio in case anything unexpected happens during the migration.

References

#454893 (closed)

Screenshots or screen recordings

Before After

How to set up and validate locally

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #454893 (closed)

Edited by Sincheol (David) Kim

Merge request reports

Loading