Skip to content

Swap FK ci_subscriptions_projects.downstream_project_id 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:
    1. @mbobin this is accessed through the project, there's no direct reference to the record.
  • 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.

Edited by Marius Bobin

Merge request reports