c07dd53a48
The dev seeder activated Empty3/Empty4 workspaces without creating their DB schema, so every workspace-iterating job (e.g. the workflow cron trigger) logged 'relation does not exist' for those schemas on each run. ``` [1] query failed: SELECT * FROM workspace_4rdlooovb6mo66rdmgupv06zi."workflowAutomatedTrigger" WHERE type = 'CRON' [1] error: error: relation "workspace_4rdlooovb6mo66rdmgupv06zi.workflowAutomatedTrigger" does not exist [1] [Nest] 51868 - 18/06/2026, 5:07:04 pm ERROR [WorkflowCronTriggerCronJob] Error processing workspace 506915ec-21ca-431b-a04a-257eb216865e: QueryFailedError: relation "workspace_4rdlooovb6mo66rdmgupv06zi.workflowAutomatedTrigger" does not exist [1] Exception Captured ``` <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/twentyhq/twenty/pull/21778?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. -->
57 lines
1.6 KiB
TypeScript
57 lines
1.6 KiB
TypeScript
import { Logger } from '@nestjs/common';
|
|
|
|
import { Command, CommandRunner, Option } from 'nest-commander';
|
|
|
|
import {
|
|
SEED_APPLE_WORKSPACE_ID,
|
|
SEED_YCOMBINATOR_WORKSPACE_ID,
|
|
SeededWorkspacesIds,
|
|
} from 'src/engine/workspace-manager/dev-seeder/core/constants/seeder-workspaces.constant';
|
|
import { DevSeederService } from 'src/engine/workspace-manager/dev-seeder/services/dev-seeder.service';
|
|
|
|
type DataSeedWorkspaceOptions = {
|
|
light?: boolean;
|
|
};
|
|
|
|
@Command({
|
|
name: 'workspace:seed:dev',
|
|
description:
|
|
'Seed workspace with initial data. This command is intended for development only.',
|
|
})
|
|
export class DataSeedWorkspaceCommand extends CommandRunner {
|
|
private readonly logger = new Logger(DataSeedWorkspaceCommand.name);
|
|
|
|
constructor(private readonly devSeederService: DevSeederService) {
|
|
super();
|
|
}
|
|
|
|
@Option({
|
|
flags: '--light',
|
|
description:
|
|
'Light seed: only seed the Apple workspace (skip YCombinator), skip demo custom objects (Pet, Survey, etc.) and limit records to 5 per object',
|
|
})
|
|
parseLight(): boolean {
|
|
return true;
|
|
}
|
|
|
|
async run(
|
|
_passedParams: string[],
|
|
options: DataSeedWorkspaceOptions,
|
|
): Promise<void> {
|
|
const workspaceIds: SeededWorkspacesIds[] = options.light
|
|
? [SEED_APPLE_WORKSPACE_ID]
|
|
: [SEED_APPLE_WORKSPACE_ID, SEED_YCOMBINATOR_WORKSPACE_ID];
|
|
|
|
try {
|
|
for (const workspaceId of workspaceIds) {
|
|
await this.devSeederService.seedDev(workspaceId, {
|
|
light: options.light,
|
|
});
|
|
}
|
|
} catch (error) {
|
|
this.logger.error(error);
|
|
this.logger.error(error.stack);
|
|
}
|
|
}
|
|
}
|