Fix 1-15 upgrade commands bundle (#16957)

This commit is contained in:
Paul Rastoin
2026-01-06 15:13:40 +01:00
committed by GitHub
parent 48b0e2f11d
commit 96f7f1cb0e
9 changed files with 34 additions and 54 deletions
@@ -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';
@@ -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',
})
@@ -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 {
@@ -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 {
@@ -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`);
@@ -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 {}
@@ -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 {}
@@ -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],
@@ -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,
};
}