diff --git a/api/apps/geoprocessing/src/migrations/geoprocessing/1625037619200-AddIndicesToPlanningArea.ts b/api/apps/geoprocessing/src/migrations/geoprocessing/1625037619200-AddIndicesToPlanningArea.ts new file mode 100644 index 0000000000..40ea0550f1 --- /dev/null +++ b/api/apps/geoprocessing/src/migrations/geoprocessing/1625037619200-AddIndicesToPlanningArea.ts @@ -0,0 +1,18 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class AddIndicesToPlanningArea1625037619200 + implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE INDEX planning_areas_project_id__idx ON "planning_areas" ("project_id") `, + ); + await queryRunner.query( + `CREATE INDEX planning_areas_created_at__idx ON "planning_areas" ("created_at") `, + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DROP INDEX planning_areas_created_at__idx`); + await queryRunner.query(`DROP INDEX planning_areas_project_id__idx`); + } +} diff --git a/api/libs/planning-area-repository/src/planning-area.geo.entity.ts b/api/libs/planning-area-repository/src/planning-area.geo.entity.ts index e565021044..7153672df1 100644 --- a/api/libs/planning-area-repository/src/planning-area.geo.entity.ts +++ b/api/libs/planning-area-repository/src/planning-area.geo.entity.ts @@ -3,6 +3,7 @@ import { Column, CreateDateColumn, Entity, + Index, PrimaryGeneratedColumn, } from 'typeorm'; import { ApiProperty } from '@nestjs/swagger'; @@ -21,6 +22,7 @@ export class PlanningArea { nullable: true, name: 'project_id', }) + @Index() projectId?: string | null; @ApiProperty() @@ -41,5 +43,6 @@ export class PlanningArea { name: 'created_at', type: 'timestamp without time zone', }) + @Index() createdAt!: Date; }