Skip to content

Swap FK ci_pipelines to projects for LFK

What does this MR do and why?

Per &7249 (closed)

As part of our CI "decomposition" efforts we need to remove all foreign keys that are cross-database (ie. between the planned main and ci databases). We are going to replace them all with "loose foreign keys".

Related: #348267 (closed)

Validations

  • Best team to review (check off when reviewed): grouppipeline execution devopsverify
  • No way for user to access once parent is deleted. Please explain:

    @mbobin: pipelines are destroyed before destroying a project: https://gitlab.com/gitlab-org/gitlab/-/blob/737ecf8bb171b5256d87078d5e703b4c10723fdb/app/services/projects/destroy_service.rb#L132-173

  • Possible to access once parent deleted but low user impact. Please explain:
  • Possible Sidekiq workers that may load directly and possibly lead to exceptions. Please explain:
  • Possible user impact to be evaluated or mitigated. Please explain:
  • Is this FK safe to be removed to avoid LOCKing problems? (Explanation: &7249 (comment 819662046)). Please explain:

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports