From 7653be8fde1c13236a72b9a7b326e532e044710b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Bosi?= <71827178+bosiraphael@users.noreply.github.com> Date: Thu, 24 Jul 2025 11:50:25 +0200 Subject: [PATCH] Improve view migration command (#13403) Remove unused imports. Improve typing. --- .../commands/database-command.module.ts | 19 +------------- .../migrate-views-to-core.command.ts | 25 +++++-------------- 2 files changed, 7 insertions(+), 37 deletions(-) diff --git a/packages/twenty-server/src/database/commands/database-command.module.ts b/packages/twenty-server/src/database/commands/database-command.module.ts index 5831315e2..bd6f5e2e5 100644 --- a/packages/twenty-server/src/database/commands/database-command.module.ts +++ b/packages/twenty-server/src/database/commands/database-command.module.ts @@ -13,12 +13,6 @@ import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; import { FieldMetadataModule } from 'src/engine/metadata-modules/field-metadata/field-metadata.module'; import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module'; -import { ViewField } from 'src/engine/metadata-modules/view/view-field.entity'; -import { ViewFilterGroup } from 'src/engine/metadata-modules/view/view-filter-group.entity'; -import { ViewFilter } from 'src/engine/metadata-modules/view/view-filter.entity'; -import { ViewGroup } from 'src/engine/metadata-modules/view/view-group.entity'; -import { ViewSort } from 'src/engine/metadata-modules/view/view-sort.entity'; -import { View } from 'src/engine/metadata-modules/view/view.entity'; import { WorkspaceCacheStorageModule } from 'src/engine/workspace-cache-storage/workspace-cache-storage.module'; import { DevSeederModule } from 'src/engine/workspace-manager/dev-seeder/dev-seeder.module'; import { WorkspaceManagerModule } from 'src/engine/workspace-manager/workspace-manager.module'; @@ -32,18 +26,7 @@ import { DataSeedWorkspaceCommand } from './data-seed-dev-workspace.command'; imports: [ UpgradeVersionCommandModule, - TypeOrmModule.forFeature( - [ - Workspace, - View, - ViewField, - ViewFilter, - ViewSort, - ViewGroup, - ViewFilterGroup, - ], - 'core', - ), + TypeOrmModule.forFeature([Workspace], 'core'), // Cron command dependencies MessagingImportManagerModule, diff --git a/packages/twenty-server/src/database/commands/views-migration/migrate-views-to-core.command.ts b/packages/twenty-server/src/database/commands/views-migration/migrate-views-to-core.command.ts index 4e729bfcc..84ff82ec6 100644 --- a/packages/twenty-server/src/database/commands/views-migration/migrate-views-to-core.command.ts +++ b/packages/twenty-server/src/database/commands/views-migration/migrate-views-to-core.command.ts @@ -36,18 +36,6 @@ export class MigrateViewsToCoreCommand extends ActiveOrSuspendedWorkspacesMigrat constructor( @InjectRepository(Workspace, 'core') protected readonly workspaceRepository: Repository, - @InjectRepository(View, 'core') - private readonly coreViewRepository: Repository, - @InjectRepository(ViewField, 'core') - private readonly coreViewFieldRepository: Repository, - @InjectRepository(ViewFilter, 'core') - private readonly coreViewFilterRepository: Repository, - @InjectRepository(ViewSort, 'core') - private readonly coreViewSortRepository: Repository, - @InjectRepository(ViewGroup, 'core') - private readonly coreViewGroupRepository: Repository, - @InjectRepository(ViewFilterGroup, 'core') - private readonly coreViewFilterGroupRepository: Repository, private readonly featureFlagService: FeatureFlagService, protected readonly twentyORMGlobalManager: TwentyORMGlobalManager, @InjectDataSource('core') @@ -242,7 +230,7 @@ export class MigrateViewsToCoreCommand extends ActiveOrSuspendedWorkspacesMigrat workspaceId: string, queryRunner: QueryRunner, ): Promise { - const coreView = { + const coreView: Partial = { id: workspaceView.id, name: workspaceView.name, objectMetadataId: workspaceView.objectMetadataId, @@ -277,7 +265,7 @@ export class MigrateViewsToCoreCommand extends ActiveOrSuspendedWorkspacesMigrat queryRunner: QueryRunner, ): Promise { for (const field of workspaceViewFields) { - const coreViewField = { + const coreViewField: Partial = { id: field.id, fieldMetadataId: field.fieldMetadataId, viewId: field.viewId, @@ -319,13 +307,12 @@ export class MigrateViewsToCoreCommand extends ActiveOrSuspendedWorkspacesMigrat ); } - const coreViewFilter = { + const coreViewFilter: Partial = { id: filter.id, fieldMetadataId: filter.fieldMetadataId, viewId: filter.viewId, operand: filter.operand, value: parsedValue, - displayValue: filter.displayValue, viewFilterGroupId: filter.viewFilterGroupId, workspaceId, createdAt: new Date(filter.createdAt), @@ -354,7 +341,7 @@ export class MigrateViewsToCoreCommand extends ActiveOrSuspendedWorkspacesMigrat const direction = sort.direction.toUpperCase() as ViewSortDirection; - const coreViewSort = { + const coreViewSort: Partial = { id: sort.id, fieldMetadataId: sort.fieldMetadataId, viewId: sort.viewId, @@ -384,7 +371,7 @@ export class MigrateViewsToCoreCommand extends ActiveOrSuspendedWorkspacesMigrat continue; } - const coreViewGroup = { + const coreViewGroup: Partial = { id: group.id, fieldMetadataId: group.fieldMetadataId, viewId: group.viewId, @@ -409,7 +396,7 @@ export class MigrateViewsToCoreCommand extends ActiveOrSuspendedWorkspacesMigrat queryRunner: QueryRunner, ): Promise { for (const filterGroup of workspaceViewFilterGroups) { - const coreViewFilterGroup = { + const coreViewFilterGroup: Partial = { id: filterGroup.id, viewId: filterGroup.viewId, logicalOperator: