diff --git a/src/email-marketing/entities/ab-test-variant.entity.ts b/src/email-marketing/entities/ab-test-variant.entity.ts index 76c78e12..8a4dcd1e 100644 --- a/src/email-marketing/entities/ab-test-variant.entity.ts +++ b/src/email-marketing/entities/ab-test-variant.entity.ts @@ -4,6 +4,7 @@ import { Column, ManyToOne, JoinColumn, + Index, VersionColumn, } from 'typeorm'; import { ApiProperty } from '@nestjs/swagger'; @@ -13,6 +14,7 @@ import { ABTest } from './ab-test.entity'; * Represents the aBTest Variant entity. */ @Entity('ab_test_variants') +@Index('IDX_ab_test_variants_abTestId_weight', ['abTestId', 'weight']) export class ABTestVariant { @ApiProperty() @PrimaryGeneratedColumn('uuid') diff --git a/src/migrations/1802000000000-add-ab-test-variant-indexes.ts b/src/migrations/1802000000000-add-ab-test-variant-indexes.ts new file mode 100644 index 00000000..0d416040 --- /dev/null +++ b/src/migrations/1802000000000-add-ab-test-variant-indexes.ts @@ -0,0 +1,17 @@ +import { MigrationInterface, QueryRunner, TableIndex } from 'typeorm'; + +export class AddABTestVariantIndexes1802000000000 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.createIndex( + 'ab_test_variants', + new TableIndex({ + name: 'IDX_ab_test_variants_abTestId_weight', + columnNames: ['abTestId', 'weight'], + }), + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.dropIndex('ab_test_variants', 'IDX_ab_test_variants_abTestId_weight'); + } +}