Swap issue_user_mentions.note_id to bigint for self-managed instances
What does this MR do and why?
This MR swaps theissue_user_mentions.note_id
and issue_user_mentions.note_id_convert_to_bigint
columns for self-managed instances.
This was already done for GitLab.com with !116509 (merged) and !117476 (merged).
The process is outlined here.
The timeline for GitLab.com was the following:
- 15.9 !110864 (merged)
- 15.11 !116509 (merged)
- 16.1 !123108 (merged)
Since we decided to commit schema changes to structure.sql
for the above MRS, we now need to consider the state of the schema from which the self-managed instance was created.
We have the following cases:
- Instances created from 15.8 and prior - swap the columns
- Instances created from 15.9, 15.10 - swap the columns
- Instances created from 15.11 - do not swap as the columns are already swapped
- Instances created from 16.1 - do not swap as the columns are already swapped, and the cleanup is done (no more temp column and trigger)
Related to #417402 (closed)
How to set up and validate locally
I have done the following manual testing:
- Create a new instance from each of 15.8.0, 15.9.0, 15.11, and 16.1.0
- Upgrade all instances to 16.1.2
- Execute the migrations from this MR
- Verify migrations execute successfully and
issue_user_mentions
table has the expected schema.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Leonardo da Rosa