Make sure necessary data is re-created in the new organization and deleted from the old organization

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Related to #463768 (closed)

When a group is moved from one org to the other, data sharded using organization_id cannot be moved along with it to the new organization.

This would mean that we would need to re-create some data in the new org and delete un-used data, if any, from the old org after the transfer is complete.

One such example is topics table

From #463768 (comment 1922951905)

Imagine:

  • group 1 in org 1, has a project with topic: golang. topics are sharded with organization_id
  • Now, if we want to move group 1 from org 1 to org 2, topics are a bottleneck because:
    • org 2 may or may not already have golang as a topic.
    • So, after the move is complete, we'd have to run special services/jobs to:
      • create golang as a topic in org2, depending on whether it already exists or not.
      • delete golang as a topic from org1, but only if no other project in the org uses it.

We'd have to repeat the same steps for all such data tables sharded with organization_id.

This issue needs to track all such tables requiring data re-creation and deletion.

Edited by 🤖 GitLab Bot 🤖