From 96f7f1cb0ecdc77a8a196c3cfa5d851dc9d99ed4 Mon Sep 17 00:00:00 2001 From: Paul Rastoin <45004772+prastoin@users.noreply.github.com> Date: Tue, 6 Jan 2026 15:13:40 +0100 Subject: [PATCH] Fix 1-15 upgrade commands bundle (#16957) --- .../commands/database-command.module.ts | 2 +- ...te-orphaned-workspace-entities.command.ts} | 2 +- ...rkspace-foreign-keys-migration.command.ts} | 2 +- ...1-15-backfill-updated-by-field.command.ts} | 2 +- ...age-layout-widget-configuration.command.ts | 6 +++ .../1-15-upgrade-version-command.module.ts | 23 ++++++++++- .../1-16-upgrade-version-command.module.ts | 39 ------------------- .../upgrade-version-command.module.ts | 2 - .../upgrade.command.ts | 10 +---- 9 files changed, 34 insertions(+), 54 deletions(-) rename packages/twenty-server/src/database/commands/{list-orphaned-workspace-entities.command.ts => list-and-delete-orphaned-workspace-entities.command.ts} (99%) rename packages/twenty-server/src/database/commands/upgrade-version-command/{1-16/1-16-add-workspace-foreign-keys-migration.command.ts => 1-15/1-15-add-workspace-foreign-keys-migration.command.ts} (97%) rename packages/twenty-server/src/database/commands/upgrade-version-command/{1-16/1-16-backfill-updated-by-field.command.ts => 1-15/1-15-backfill-updated-by-field.command.ts} (99%) delete mode 100644 packages/twenty-server/src/database/commands/upgrade-version-command/1-16/1-16-upgrade-version-command.module.ts 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 75cfa85d2a..59366c5e44 100644 --- a/packages/twenty-server/src/database/commands/database-command.module.ts +++ b/packages/twenty-server/src/database/commands/database-command.module.ts @@ -4,7 +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 { ListOrphanedWorkspaceEntitiesCommand } from 'src/database/commands/list-and-delete-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'; diff --git a/packages/twenty-server/src/database/commands/list-orphaned-workspace-entities.command.ts b/packages/twenty-server/src/database/commands/list-and-delete-orphaned-workspace-entities.command.ts similarity index 99% rename from packages/twenty-server/src/database/commands/list-orphaned-workspace-entities.command.ts rename to packages/twenty-server/src/database/commands/list-and-delete-orphaned-workspace-entities.command.ts index 7f9efadfb8..e29518962c 100644 --- a/packages/twenty-server/src/database/commands/list-orphaned-workspace-entities.command.ts +++ b/packages/twenty-server/src/database/commands/list-and-delete-orphaned-workspace-entities.command.ts @@ -128,7 +128,7 @@ type OrphanedRecord = { }; @Command({ - name: 'workspace:list-orphaned-entities', + name: 'workspace:list-and-delete-orphaned-entities', description: 'List and optionally delete records from workspace-related entities that reference a workspaceId not present in the workspace table', }) diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/1-16/1-16-add-workspace-foreign-keys-migration.command.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/1-15/1-15-add-workspace-foreign-keys-migration.command.ts similarity index 97% rename from packages/twenty-server/src/database/commands/upgrade-version-command/1-16/1-16-add-workspace-foreign-keys-migration.command.ts rename to packages/twenty-server/src/database/commands/upgrade-version-command/1-15/1-15-add-workspace-foreign-keys-migration.command.ts index 16d6e4109e..a8987fe230 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/1-16/1-16-add-workspace-foreign-keys-migration.command.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/1-15/1-15-add-workspace-foreign-keys-migration.command.ts @@ -11,7 +11,7 @@ import { DataSourceService } from 'src/engine/metadata-modules/data-source/data- import { GlobalWorkspaceOrmManager } from 'src/engine/twenty-orm/global-workspace-datasource/global-workspace-orm.manager'; @Command({ - name: 'upgrade:1-16:add-workspace-foreign-keys-migration', + name: 'upgrade:1-15:add-workspace-foreign-keys-migration', description: 'Add foreign key constraints for workspaceId on core tables', }) export class AddWorkspaceForeignKeysMigrationCommand extends ActiveOrSuspendedWorkspacesMigrationCommandRunner { diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/1-16/1-16-backfill-updated-by-field.command.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/1-15/1-15-backfill-updated-by-field.command.ts similarity index 99% rename from packages/twenty-server/src/database/commands/upgrade-version-command/1-16/1-16-backfill-updated-by-field.command.ts rename to packages/twenty-server/src/database/commands/upgrade-version-command/1-15/1-15-backfill-updated-by-field.command.ts index 6625bc51c3..45b24850d0 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/1-16/1-16-backfill-updated-by-field.command.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/1-15/1-15-backfill-updated-by-field.command.ts @@ -33,7 +33,7 @@ import { } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; @Command({ - name: 'upgrade:1-16:backfill-updated-by-field', + name: 'upgrade:1-15:backfill-updated-by-field', description: 'Backfill updatedBy field for all objects', }) export class BackfillUpdatedByFieldCommand extends ActiveOrSuspendedWorkspacesMigrationCommandRunner { diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/1-15/1-15-migrate-page-layout-widget-configuration.command.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/1-15/1-15-migrate-page-layout-widget-configuration.command.ts index 2e40b9d351..2f6305b8f7 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/1-15/1-15-migrate-page-layout-widget-configuration.command.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/1-15/1-15-migrate-page-layout-widget-configuration.command.ts @@ -8,6 +8,8 @@ import { ActiveOrSuspendedWorkspacesMigrationCommandRunner } from 'src/database/ import { RunOnWorkspaceArgs } from 'src/database/commands/command-runners/workspaces-migration.command-runner'; import { WorkspaceEntity } from 'src/engine/core-modules/workspace/workspace.entity'; import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; +import { getMetadataFlatEntityMapsKey } from 'src/engine/metadata-modules/flat-entity/utils/get-metadata-flat-entity-maps-key.util'; +import { getMetadataRelatedMetadataNames } from 'src/engine/metadata-modules/flat-entity/utils/get-metadata-related-metadata-names.util'; import { PageLayoutWidgetEntity } from 'src/engine/metadata-modules/page-layout-widget/entities/page-layout-widget.entity'; import { BarChartLayout } from 'src/engine/metadata-modules/page-layout-widget/enums/bar-chart-layout.enum'; import { WidgetConfigurationType } from 'src/engine/metadata-modules/page-layout-widget/enums/widget-configuration-type.type'; @@ -278,8 +280,12 @@ export class MigratePageLayoutWidgetConfigurationCommand extends ActiveOrSuspend `Invalidating and recomputing cache for workspace ${workspaceId}`, ); + const flatCacheToInvalidate = + getMetadataRelatedMetadataNames('pageLayoutWidget'); + await this.workspaceCacheService.invalidateAndRecompute(workspaceId, [ 'flatPageLayoutWidgetMaps', + ...flatCacheToInvalidate.map(getMetadataFlatEntityMapsKey), ]); this.logger.log(`Cache invalidated and recomputed successfully`); diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/1-15/1-15-upgrade-version-command.module.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/1-15/1-15-upgrade-version-command.module.ts index 30a98f8fa2..f3d3e24333 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/1-15/1-15-upgrade-version-command.module.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/1-15/1-15-upgrade-version-command.module.ts @@ -1,28 +1,49 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; +import { AddWorkspaceForeignKeysMigrationCommand } from 'src/database/commands/upgrade-version-command/1-15/1-15-add-workspace-foreign-keys-migration.command'; +import { BackfillUpdatedByFieldCommand } from 'src/database/commands/upgrade-version-command/1-15/1-15-backfill-updated-by-field.command'; import { FixNanPositionValuesInNotesCommand } from 'src/database/commands/upgrade-version-command/1-15/1-15-fix-nan-position-values-in-notes.command'; import { MigratePageLayoutWidgetConfigurationCommand } from 'src/database/commands/upgrade-version-command/1-15/1-15-migrate-page-layout-widget-configuration.command'; +import { ApplicationModule } from 'src/engine/core-modules/application/application.module'; import { WorkspaceEntity } 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 { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; import { PageLayoutWidgetEntity } from 'src/engine/metadata-modules/page-layout-widget/entities/page-layout-widget.entity'; +import { ViewFieldEntity } from 'src/engine/metadata-modules/view-field/entities/view-field.entity'; +import { ViewFieldModule } from 'src/engine/metadata-modules/view-field/view-field.module'; +import { ViewEntity } from 'src/engine/metadata-modules/view/entities/view.entity'; import { WorkspaceSchemaManagerModule } from 'src/engine/twenty-orm/workspace-schema-manager/workspace-schema-manager.module'; import { WorkspaceCacheModule } from 'src/engine/workspace-cache/workspace-cache.module'; @Module({ imports: [ - TypeOrmModule.forFeature([WorkspaceEntity, PageLayoutWidgetEntity]), + TypeOrmModule.forFeature([ + WorkspaceEntity, + PageLayoutWidgetEntity, + ObjectMetadataEntity, + ViewEntity, + ViewFieldEntity, + ]), DataSourceModule, WorkspaceSchemaManagerModule, WorkspaceCacheModule, + FieldMetadataModule, + ViewFieldModule, + ApplicationModule, ], providers: [ MigratePageLayoutWidgetConfigurationCommand, FixNanPositionValuesInNotesCommand, + BackfillUpdatedByFieldCommand, + AddWorkspaceForeignKeysMigrationCommand, ], exports: [ MigratePageLayoutWidgetConfigurationCommand, FixNanPositionValuesInNotesCommand, + BackfillUpdatedByFieldCommand, + AddWorkspaceForeignKeysMigrationCommand, ], }) export class V1_15_UpgradeVersionCommandModule {} diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/1-16/1-16-upgrade-version-command.module.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/1-16/1-16-upgrade-version-command.module.ts deleted file mode 100644 index 1e726e9a29..0000000000 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/1-16/1-16-upgrade-version-command.module.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Module } from '@nestjs/common'; -import { TypeOrmModule } from '@nestjs/typeorm'; - -import { AddWorkspaceForeignKeysMigrationCommand } from 'src/database/commands/upgrade-version-command/1-16/1-16-add-workspace-foreign-keys-migration.command'; -import { BackfillUpdatedByFieldCommand } from 'src/database/commands/upgrade-version-command/1-16/1-16-backfill-updated-by-field.command'; -import { ApplicationModule } from 'src/engine/core-modules/application/application.module'; -import { WorkspaceEntity } 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 { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; -import { ViewFieldEntity } from 'src/engine/metadata-modules/view-field/entities/view-field.entity'; -import { ViewFieldModule } from 'src/engine/metadata-modules/view-field/view-field.module'; -import { ViewEntity } from 'src/engine/metadata-modules/view/entities/view.entity'; -import { WorkspaceCacheModule } from 'src/engine/workspace-cache/workspace-cache.module'; - -@Module({ - imports: [ - TypeOrmModule.forFeature([ - WorkspaceEntity, - ObjectMetadataEntity, - ViewEntity, - ViewFieldEntity, - ]), - DataSourceModule, - FieldMetadataModule, - ViewFieldModule, - WorkspaceCacheModule, - ApplicationModule, - ], - providers: [ - BackfillUpdatedByFieldCommand, - AddWorkspaceForeignKeysMigrationCommand, - ], - exports: [ - BackfillUpdatedByFieldCommand, - AddWorkspaceForeignKeysMigrationCommand, - ], -}) -export class V1_16_UpgradeVersionCommandModule {} diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/upgrade-version-command.module.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/upgrade-version-command.module.ts index 9eff74051a..cfd8475546 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/upgrade-version-command.module.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/upgrade-version-command.module.ts @@ -4,7 +4,6 @@ import { TypeOrmModule } from '@nestjs/typeorm'; import { V1_13_UpgradeVersionCommandModule } from 'src/database/commands/upgrade-version-command/1-13/1-13-upgrade-version-command.module'; import { V1_14_UpgradeVersionCommandModule } from 'src/database/commands/upgrade-version-command/1-14/1-14-upgrade-version-command.module'; import { V1_15_UpgradeVersionCommandModule } from 'src/database/commands/upgrade-version-command/1-15/1-15-upgrade-version-command.module'; -import { V1_16_UpgradeVersionCommandModule } from 'src/database/commands/upgrade-version-command/1-16/1-16-upgrade-version-command.module'; import { UpgradeCommand } from 'src/database/commands/upgrade-version-command/upgrade.command'; import { WorkspaceEntity } from 'src/engine/core-modules/workspace/workspace.entity'; import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-source.module'; @@ -15,7 +14,6 @@ import { DataSourceModule } from 'src/engine/metadata-modules/data-source/data-s V1_13_UpgradeVersionCommandModule, V1_14_UpgradeVersionCommandModule, V1_15_UpgradeVersionCommandModule, - V1_16_UpgradeVersionCommandModule, DataSourceModule, ], providers: [UpgradeCommand], diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/upgrade.command.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/upgrade.command.ts index f86fa11791..9f76b59db5 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/upgrade.command.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/upgrade.command.ts @@ -18,10 +18,10 @@ import { RenameIndexNameCommand } from 'src/database/commands/upgrade-version-co import { UpdateRoleTargetsUniqueConstraintMigrationCommand } from 'src/database/commands/upgrade-version-command/1-13/1-13-update-role-targets-unique-constraint-migration.command'; import { DeleteRemovedAgentsCommand } from 'src/database/commands/upgrade-version-command/1-14/1-14-delete-removed-agents.command'; import { UpdateCreatedByEnumCommand } from 'src/database/commands/upgrade-version-command/1-14/1-14-update-created-by-enum.command'; +import { AddWorkspaceForeignKeysMigrationCommand } from 'src/database/commands/upgrade-version-command/1-15/1-15-add-workspace-foreign-keys-migration.command'; +import { BackfillUpdatedByFieldCommand } from 'src/database/commands/upgrade-version-command/1-15/1-15-backfill-updated-by-field.command'; import { FixNanPositionValuesInNotesCommand } from 'src/database/commands/upgrade-version-command/1-15/1-15-fix-nan-position-values-in-notes.command'; import { MigratePageLayoutWidgetConfigurationCommand } from 'src/database/commands/upgrade-version-command/1-15/1-15-migrate-page-layout-widget-configuration.command'; -import { AddWorkspaceForeignKeysMigrationCommand } from 'src/database/commands/upgrade-version-command/1-16/1-16-add-workspace-foreign-keys-migration.command'; -import { BackfillUpdatedByFieldCommand } from 'src/database/commands/upgrade-version-command/1-16/1-16-backfill-updated-by-field.command'; import { TwentyConfigService } from 'src/engine/core-modules/twenty-config/twenty-config.service'; import { WorkspaceEntity } from 'src/engine/core-modules/workspace/workspace.entity'; import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service'; @@ -57,8 +57,6 @@ export class UpgradeCommand extends UpgradeCommandRunner { // 1.15 Commands protected readonly migratePageLayoutWidgetConfigurationCommand: MigratePageLayoutWidgetConfigurationCommand, protected readonly fixNanPositionValuesInNotesCommand: FixNanPositionValuesInNotesCommand, - - // 1.16 Commands protected readonly backfillUpdatedByFieldCommand: BackfillUpdatedByFieldCommand, protected readonly addWorkspaceForeignKeysMigrationCommand: AddWorkspaceForeignKeysMigrationCommand, ) { @@ -90,9 +88,6 @@ export class UpgradeCommand extends UpgradeCommandRunner { const commands_1150: VersionCommands = [ this.migratePageLayoutWidgetConfigurationCommand, this.fixNanPositionValuesInNotesCommand, - ]; - - const commands_1160: VersionCommands = [ this.backfillUpdatedByFieldCommand, this.addWorkspaceForeignKeysMigrationCommand, ]; @@ -102,7 +97,6 @@ export class UpgradeCommand extends UpgradeCommandRunner { '1.13.0': commands_1130, '1.14.0': commands_1140, '1.15.0': commands_1150, - '1.16.0': commands_1160, }; }