Duplicate bigint indexes for ci_sources_pipelines

What does this MR do and why?

Release N+1 (finalize backfill + duplicate indexes) of the ci_sources_pipelines bigint conversion for id, project_id, and source_project_id. Per the swap-the-columns process, the index duplication must be fully deployed before the column swap, so the swap is handled in a separate, later MR (see #500027 (closed)).

This MR adds two post-deployment migrations:

  1. FinalizeCiSourcesPipelinesBigintConversion finalizes the backfill batched background migration enqueued in step N.
  2. CreateBigintIndexesForCiSourcesPipelines creates indexes on the *_convert_to_bigint columns mirroring the existing integer-column indexes:
    • ci_sources_pipelines_pkey
    • index_ci_sources_pipelines_on_project_id
    • index_ci_sources_pipelines_on_source_project_id

There are no foreign keys on the converted columns, so no bigint foreign keys are created here.

On new installations the columns are already bigint, so both migrations no-op and db/structure.sql is intentionally left unchanged.

Edited by Oleg Yakovenko

Merge request reports

Loading
Loading