feat: Update migration to add new indexes and alter table defaults for OnCallDutyPolicyScheduleLayer

This commit is contained in:
Nawaz Dhandala
2026-01-14 20:29:21 +00:00
parent 0c0fb1be2d
commit 25c3cf8aec
2 changed files with 54 additions and 23 deletions

View File

@@ -1,28 +1,59 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class MigrationName1768422356713 implements MigrationInterface {
public name = 'MigrationName1768422356713'
public name = "MigrationName1768422356713";
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX "public"."IDX_Monitor_incomingEmailSecretKey"`);
await queryRunner.query(`DROP INDEX "public"."IDX_Monitor_incomingEmailMonitorLastEmailReceivedAt"`);
await queryRunner.query(`DROP INDEX "public"."IDX_Monitor_incomingEmailMonitorHeartbeatCheckedAt"`);
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type":"Recurring","value":{"intervalType":"Day","intervalCount":{"_type":"PositiveNumber","value":1}}}'`);
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type":"RestrictionTimes","value":{"restictionType":"None","dayRestrictionTimes":null,"weeklyRestrictionTimes":[]}}'`);
await queryRunner.query(`CREATE INDEX "IDX_94ee326d2c07251b662b431fac" ON "Monitor" ("incomingEmailSecretKey") `);
await queryRunner.query(`CREATE INDEX "IDX_185f36c4cebf452333df869187" ON "Monitor" ("incomingEmailMonitorLastEmailReceivedAt") `);
await queryRunner.query(`CREATE INDEX "IDX_33a77f31ba5b28905464433756" ON "Monitor" ("incomingEmailMonitorHeartbeatCheckedAt") `);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX "public"."IDX_33a77f31ba5b28905464433756"`);
await queryRunner.query(`DROP INDEX "public"."IDX_185f36c4cebf452333df869187"`);
await queryRunner.query(`DROP INDEX "public"."IDX_94ee326d2c07251b662b431fac"`);
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type": "RestrictionTimes", "value": {"restictionType": "None", "dayRestrictionTimes": null, "weeklyRestrictionTimes": []}}'`);
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type": "Recurring", "value": {"intervalType": "Day", "intervalCount": {"_type": "PositiveNumber", "value": 1}}}'`);
await queryRunner.query(`CREATE INDEX "IDX_Monitor_incomingEmailMonitorHeartbeatCheckedAt" ON "Monitor" ("incomingEmailMonitorHeartbeatCheckedAt") `);
await queryRunner.query(`CREATE INDEX "IDX_Monitor_incomingEmailMonitorLastEmailReceivedAt" ON "Monitor" ("incomingEmailMonitorLastEmailReceivedAt") `);
await queryRunner.query(`CREATE INDEX "IDX_Monitor_incomingEmailSecretKey" ON "Monitor" ("incomingEmailSecretKey") `);
}
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`DROP INDEX "public"."IDX_Monitor_incomingEmailSecretKey"`,
);
await queryRunner.query(
`DROP INDEX "public"."IDX_Monitor_incomingEmailMonitorLastEmailReceivedAt"`,
);
await queryRunner.query(
`DROP INDEX "public"."IDX_Monitor_incomingEmailMonitorHeartbeatCheckedAt"`,
);
await queryRunner.query(
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type":"Recurring","value":{"intervalType":"Day","intervalCount":{"_type":"PositiveNumber","value":1}}}'`,
);
await queryRunner.query(
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type":"RestrictionTimes","value":{"restictionType":"None","dayRestrictionTimes":null,"weeklyRestrictionTimes":[]}}'`,
);
await queryRunner.query(
`CREATE INDEX "IDX_94ee326d2c07251b662b431fac" ON "Monitor" ("incomingEmailSecretKey") `,
);
await queryRunner.query(
`CREATE INDEX "IDX_185f36c4cebf452333df869187" ON "Monitor" ("incomingEmailMonitorLastEmailReceivedAt") `,
);
await queryRunner.query(
`CREATE INDEX "IDX_33a77f31ba5b28905464433756" ON "Monitor" ("incomingEmailMonitorHeartbeatCheckedAt") `,
);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`DROP INDEX "public"."IDX_33a77f31ba5b28905464433756"`,
);
await queryRunner.query(
`DROP INDEX "public"."IDX_185f36c4cebf452333df869187"`,
);
await queryRunner.query(
`DROP INDEX "public"."IDX_94ee326d2c07251b662b431fac"`,
);
await queryRunner.query(
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type": "RestrictionTimes", "value": {"restictionType": "None", "dayRestrictionTimes": null, "weeklyRestrictionTimes": []}}'`,
);
await queryRunner.query(
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type": "Recurring", "value": {"intervalType": "Day", "intervalCount": {"_type": "PositiveNumber", "value": 1}}}'`,
);
await queryRunner.query(
`CREATE INDEX "IDX_Monitor_incomingEmailMonitorHeartbeatCheckedAt" ON "Monitor" ("incomingEmailMonitorHeartbeatCheckedAt") `,
);
await queryRunner.query(
`CREATE INDEX "IDX_Monitor_incomingEmailMonitorLastEmailReceivedAt" ON "Monitor" ("incomingEmailMonitorLastEmailReceivedAt") `,
);
await queryRunner.query(
`CREATE INDEX "IDX_Monitor_incomingEmailSecretKey" ON "Monitor" ("incomingEmailSecretKey") `,
);
}
}

View File

@@ -445,5 +445,5 @@ export default [
IncreaseClientSecretLength1768216593272,
AddOAuthProviderType1768217403078,
AddIncomingEmailMonitor1768335589018,
MigrationName1768422356713
MigrationName1768422356713,
];