Add workspaceId option on standard-id migration script
This commit is contained in:
@ -1,7 +1,7 @@
|
|||||||
import { Logger } from '@nestjs/common';
|
import { Logger } from '@nestjs/common';
|
||||||
import { InjectDataSource } from '@nestjs/typeorm';
|
import { InjectDataSource } from '@nestjs/typeorm';
|
||||||
|
|
||||||
import { Command, CommandRunner } from 'nest-commander';
|
import { Command, CommandRunner, Option } from 'nest-commander';
|
||||||
import { DataSource } from 'typeorm';
|
import { DataSource } from 'typeorm';
|
||||||
|
|
||||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
||||||
@ -12,6 +12,10 @@ import { computeStandardObject } from 'src/engine/workspace-manager/workspace-sy
|
|||||||
import { StandardFieldFactory } from 'src/engine/workspace-manager/workspace-sync-metadata/factories/standard-field.factory';
|
import { StandardFieldFactory } from 'src/engine/workspace-manager/workspace-sync-metadata/factories/standard-field.factory';
|
||||||
import { CustomObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/custom-objects/custom.object-metadata';
|
import { CustomObjectMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/custom-objects/custom.object-metadata';
|
||||||
|
|
||||||
|
interface RunCommandOptions {
|
||||||
|
workspaceId?: string;
|
||||||
|
}
|
||||||
|
|
||||||
@Command({
|
@Command({
|
||||||
name: 'workspace:add-standard-id',
|
name: 'workspace:add-standard-id',
|
||||||
description: 'Add standard id to all metadata objects and fields',
|
description: 'Add standard id to all metadata objects and fields',
|
||||||
@ -28,8 +32,9 @@ export class AddStandardIdCommand extends CommandRunner {
|
|||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
async run(): Promise<void> {
|
async run(_passedParam: string[], options: RunCommandOptions): Promise<void> {
|
||||||
const queryRunner = this.metadataDataSource.createQueryRunner();
|
const queryRunner = this.metadataDataSource.createQueryRunner();
|
||||||
|
const workspaceId = options.workspaceId;
|
||||||
|
|
||||||
await queryRunner.connect();
|
await queryRunner.connect();
|
||||||
await queryRunner.startTransaction();
|
await queryRunner.startTransaction();
|
||||||
@ -81,6 +86,7 @@ export class AddStandardIdCommand extends CommandRunner {
|
|||||||
await objectMetadataRepository.find({
|
await objectMetadataRepository.find({
|
||||||
where: {
|
where: {
|
||||||
fields: { isCustom: false },
|
fields: { isCustom: false },
|
||||||
|
workspaceId: workspaceId,
|
||||||
},
|
},
|
||||||
relations: ['fields'],
|
relations: ['fields'],
|
||||||
});
|
});
|
||||||
@ -88,6 +94,7 @@ export class AddStandardIdCommand extends CommandRunner {
|
|||||||
originalObjectMetadataCollection.filter(
|
originalObjectMetadataCollection.filter(
|
||||||
(metadata) => metadata.isCustom,
|
(metadata) => metadata.isCustom,
|
||||||
);
|
);
|
||||||
|
|
||||||
const standardObjectMetadataMap = new Map(
|
const standardObjectMetadataMap = new Map(
|
||||||
standardObjectMetadataCollection.map((metadata) => [
|
standardObjectMetadataCollection.map((metadata) => [
|
||||||
metadata.nameSingular,
|
metadata.nameSingular,
|
||||||
@ -152,4 +159,13 @@ export class AddStandardIdCommand extends CommandRunner {
|
|||||||
await queryRunner.release();
|
await queryRunner.release();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Option({
|
||||||
|
flags: '-w, --workspace-id [workspace_id]',
|
||||||
|
description: 'workspace id',
|
||||||
|
required: false,
|
||||||
|
})
|
||||||
|
parseWorkspaceId(value: string): string {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user