Swap bigint columns on merge_requests stage two
What does this MR do and why?
This is the final MR where we swap stage 2 bigint columns for merge_requests table.
In before MRs, we have prepared indexes (async and sync), and FKs (async validation). And this MR, we perform below things,
- Add sync FK validation for non-GitLab.com envs
- Add final step for partition FK validation
- Swap stage 2 bigint columns (
target_project_id,latest_merge_request_diff_id,last_edited_by_id) and related indexes and FKs - Drop temp indexes, FKs after swap (leave columns for final removal together after one milestone stop)
References
- Issue - Swap MergeRequest ID columns (Step 2) (#507695)
- MR - Prepare bigint indexes for merge_requests stage... (!204153 - merged)
- MR - Prepare foreign keys for bigint conversion on m... (!212201 - merged)
Process Plan
This MR would follow unstandard process, and would not run on GitLab.com via normal PDM.
- Merge Swap bigint columns on merge_requests stage two (!216433)
- Confirm Swap bigint columns on merge_requests stage two (!216433) is deployed to prod
-
Skip the migrations
20251215020900and20251215020901via ChatOps only formain -
Let the PDM job execute them for
ciandsec -
Execute migrations for
mainmanually via CR
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.
Edited by zli