Cohort B: Migrate remaining org-sharded tables to support organization transfer
## Summary This epic tracks the work to migrate the remaining org-sharded tables that are currently marked as `todo` in their `organization_transfer_support` field. These tables must be updated to support organization transfer as part of Cohort B migration. ## Background The tables requiring migration are tracked in `spec/lib/gitlab/organizations/organization_transfer_support_spec.rb` under the `allowed_todo_tables` array. Each table sharded by `organization_id` must have its `db/docs/*.yml` file updated to `organization_transfer_support: supported` after implementing transfer logic in the appropriate service. ## Carried over from Cohort A The following open issues from the Cohort A epic are being incorporated as child issues: - https://gitlab.com/gitlab-org/gitlab/-/work_items/593762 - Add Missing belongs_to Associations for Database Foreign Keys - https://gitlab.com/gitlab-org/gitlab/-/work_items/591686 - Clean up orphaned labels with organization_id - https://gitlab.com/gitlab-org/gitlab/-/work_items/581616 - Transfer TLG to Org: Support organization_users ## Exit Criteria - [ ] All tables in `allowed_todo_tables` have been migrated with `organization_transfer_support: supported` - [ ] Transfer specs validate all supported tables - [ ] The `allowed_todo_tables` array in the spec file is empty ## Implementation Notes - Reference: `spec/lib/gitlab/organizations/organization_transfer_support_spec.rb` - Transfer services: `app/services/**/organizations/transfer/` - Database docs: `db/docs/*.yml` <!-- STATUS NOTE START --> ## Status 2026-04-23 <!-- Create a high level summary (optional but encouraged) --> :clock1: **total hours spent this week by all contributors**: ~40 :airplane: **in progress**: - https://gitlab.com/gitlab-org/gitlab/-/work_items/593762+ \ 14/15 MR's merged. \ running into random CI failures that have nothing to do with the final MR. \ been happening the whole week. - https://gitlab.com/gitlab-org/gitlab/-/work_items/594592+ \ Currently have a plan for `sbom_*` tables. :issue-blocked: **blockers**: - N/A :arrow_forward: **next**: - https://gitlab.com/gitlab-org/gitlab/-/work_items/593762+ \ 1 more MR to get over the line :sweat_smile: \ this will help with https://gitlab.com/gitlab-org/gitlab/-/work_items/594594+ so that we can get a better picture of the various associations between tables and find a pattern for migrating the other tables. - https://gitlab.com/gitlab-org/gitlab/-/work_items/594592+ \ Working on `vulnerability_export_*` tables next _Copied from https://gitlab.com/groups/gitlab-com/gl-infra/-/epics/2010#note_3277477617_ <!-- STATUS NOTE END -->
epic