Convert primary keys to bigint for ci_pipeline_variables
It looks like it's more complex/impossible without downtime to change a primary key after the table is partitioned since we can't use our current workflow on partitioned tables:
PG::FeatureNotSupported: ERROR: ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables
The primary key for ci_pipeline_variables
is still using integer
type and we need to have it converted to bigint
before starting to partition that table.
This will take 4 releases(milestones) to be completed.
Process
Following the process outlined here, we must:
Step | MR | Workflow Status | Milestone |
---|---|---|---|
Initialize the conversion | !118878 (merged) | workflowcomplete | %16.0 |
Swap the columns | - Async Index !120946 (merged) - Sync Index !120950 (merged) - Swap the columns !120823 (merged) |
workflowcomplete workflowcomplete workflowcomplete |
%16.1 |
Remove the trigger and old integer columns | !124026 (merged) | workflowcomplete | %16.2 |
Remove ignore rules | !125187 (merged) | workflowcomplete | %16.3 |
Edited by Tianwen Chen