Swap FK ci_refs.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: @mbobin: ci_refs are used to persist the status of branch(for sending pipeline notification emails, unlocking artifacts) and are accessed though the pipeline record once it completes. It should be safe to keep them around until the LFK triggers their removal.
-
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 expalin:
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Douglas Barbosa Alexandre