Clean orphan metadata (#16914)
# Introduction Followup https://github.com/twentyhq/twenty/pull/16863 Important note: This is not an upgrade command and will have to be manually run In this pull request we're introducing a coding that will allow this [migration](https://github.com/twentyhq/twenty/blob/clean-orphan-metadata/packages/twenty-server/src/database/typeorm/core/migrations/utils/1767002571103-addWorkspaceForeignKeys.util.ts#L3) to pass, it enforces the `workspaceId` foreignKey on all metadata entities. Allowing workspace deletion cascading of all its related entities and avoiding orphan metadata entities to reoccur in the future Also introduced a small migration that will set the workspaceId col type to `uuid`, as it has been historically `varchar` This migration is a requirement for the above command to work successfully ## Note Chunking by relations fields the orphan field deletion as would take way too much time within a transac, ## Test Tested on a prod extract locally ( both dry and not dry )
This commit is contained in:
@@ -4,6 +4,7 @@ import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { ComputeTwentyStandardWorkspaceMigrationCommand } from 'src/database/commands/compute-twenty-standard-workspace-migration.command';
|
||||
import { CronRegisterAllCommand } from 'src/database/commands/cron-register-all.command';
|
||||
import { DataSeedWorkspaceCommand } from 'src/database/commands/data-seed-dev-workspace.command';
|
||||
import { ListOrphanedWorkspaceEntitiesCommand } from 'src/database/commands/list-orphaned-workspace-entities.command';
|
||||
import { ConfirmationQuestion } from 'src/database/commands/questions/confirmation.question';
|
||||
import { UpgradeVersionCommandModule } from 'src/database/commands/upgrade-version-command/upgrade-version-command.module';
|
||||
import { TypeORMModule } from 'src/database/typeorm/typeorm.module';
|
||||
@@ -62,6 +63,7 @@ import { AutomatedTriggerModule } from 'src/modules/workflow/workflow-trigger/au
|
||||
DataSeedWorkspaceCommand,
|
||||
ConfirmationQuestion,
|
||||
CronRegisterAllCommand,
|
||||
ListOrphanedWorkspaceEntitiesCommand,
|
||||
],
|
||||
})
|
||||
export class DatabaseCommandModule {}
|
||||
|
||||
Reference in New Issue
Block a user