Swap system_note_metadata.note_id to bigint for self-managed instances
What does this MR do and why?
This MR swaps thesystem_note_metadata.note_id
and system_note_metadata.note_id_convert_to_bigint
columns for self-managed instances.
This was already done for GitLab.com with !117343 (merged).
The process is outlined here.
The timeline for GitLab.com was the following:
- 15.9 !110705 (merged)
- 16.0 !117343 (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, and 15.11 – swap the columns
- Instances created from 16.0 – 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, 16.0.0, and 16.1.0
- Upgrade all instances to 16.1.2
- Execute the migrations from this MR
- Verify migrations execute successfully and
system_note_metadata
table has the expected schema.
Edited by Leonardo da Rosa