- Removing unique constraint creation in 0.32 as we have a dependency on
sync-metadata and sync-metadata has a dependency on it if we keep it.
- sync-metadata does not support well the deletion of activity +
activityTarget, silently swallow the exception for now
This commit is contained in:
Charles Bochet 2024-11-04 22:08:07 +01:00 committed by GitHub
parent 8e82b08acb
commit 4fc690b42c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 7 additions and 5 deletions

View File

@ -107,12 +107,11 @@ export class EnforceUniqueConstraintsCommand extends ActiveWorkspacesCommandRunn
dryRun: boolean, dryRun: boolean,
options: EnforceUniqueConstraintsCommandOptions, options: EnforceUniqueConstraintsCommandOptions,
): Promise<void> { ): Promise<void> {
await this.enforceUniquePersonEmail(workspaceId, dryRun);
if (options.company) { if (options.company) {
await this.enforceUniqueCompanyDomainName(workspaceId, dryRun); await this.enforceUniqueCompanyDomainName(workspaceId, dryRun);
} }
if (options.person) {
await this.enforceUniquePersonEmail(workspaceId, dryRun);
}
if (options.viewField) { if (options.viewField) {
await this.enforceUniqueViewField(workspaceId, dryRun); await this.enforceUniqueViewField(workspaceId, dryRun);
} }

View File

@ -522,6 +522,10 @@ export class WorkspaceMigrationRunnerService {
); );
if (!foreignKeyName) { if (!foreignKeyName) {
// Todo: Remove this temporary hack tied to 0.32 upgrade
if (migrationColumn.columnName === 'activityId') {
return;
}
throw new Error( throw new Error(
`Foreign key not found for column ${migrationColumn.columnName}`, `Foreign key not found for column ${migrationColumn.columnName}`,
); );

View File

@ -22,7 +22,6 @@ import { WorkspaceField } from 'src/engine/twenty-orm/decorators/workspace-field
import { WorkspaceIsDeprecated } from 'src/engine/twenty-orm/decorators/workspace-is-deprecated.decorator'; import { WorkspaceIsDeprecated } from 'src/engine/twenty-orm/decorators/workspace-is-deprecated.decorator';
import { WorkspaceIsNullable } from 'src/engine/twenty-orm/decorators/workspace-is-nullable.decorator'; import { WorkspaceIsNullable } from 'src/engine/twenty-orm/decorators/workspace-is-nullable.decorator';
import { WorkspaceIsSystem } from 'src/engine/twenty-orm/decorators/workspace-is-system.decorator'; import { WorkspaceIsSystem } from 'src/engine/twenty-orm/decorators/workspace-is-system.decorator';
import { WorkspaceIsUnique } from 'src/engine/twenty-orm/decorators/workspace-is-unique.decorator';
import { WorkspaceJoinColumn } from 'src/engine/twenty-orm/decorators/workspace-join-column.decorator'; import { WorkspaceJoinColumn } from 'src/engine/twenty-orm/decorators/workspace-join-column.decorator';
import { WorkspaceRelation } from 'src/engine/twenty-orm/decorators/workspace-relation.decorator'; import { WorkspaceRelation } from 'src/engine/twenty-orm/decorators/workspace-relation.decorator';
import { PERSON_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids'; import { PERSON_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
@ -81,7 +80,7 @@ export class PersonWorkspaceEntity extends BaseWorkspaceEntity {
description: 'Contacts Emails', description: 'Contacts Emails',
icon: 'IconMail', icon: 'IconMail',
}) })
@WorkspaceIsUnique() // @WorkspaceIsUnique()
[EMAILS_FIELD_NAME]: EmailsMetadata; [EMAILS_FIELD_NAME]: EmailsMetadata;
@WorkspaceField({ @WorkspaceField({