feat: add migration for allIncidentsResolvedAt and allAlertsResolvedAt fields with index creation

This commit is contained in:
Nawaz Dhandala
2026-02-10 13:12:10 +00:00
parent ae6e49da8f
commit 0fa7848ab9
2 changed files with 30 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class MigrationName1770728946893 implements MigrationInterface {
name = 'MigrationName1770728946893'
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "WorkspaceNotificationRule" DROP CONSTRAINT "FK_WorkspaceNotificationRule_workspaceProjectAuthTokenId"`);
await queryRunner.query(`ALTER TABLE "WorkspaceNotificationRule" DROP COLUMN "workspaceProjectAuthTokenId"`);
await queryRunner.query(`ALTER TABLE "IncidentEpisode" ADD "allIncidentsResolvedAt" TIMESTAMP WITH TIME ZONE`);
await queryRunner.query(`ALTER TABLE "AlertEpisode" ADD "allAlertsResolvedAt" TIMESTAMP WITH TIME ZONE`);
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_0610406e5c436c20a5068b1006" ON "IncidentEpisode" ("allIncidentsResolvedAt") `);
await queryRunner.query(`CREATE INDEX "IDX_ea5d1f899fe52445dd6e0d0d55" ON "AlertEpisode" ("allAlertsResolvedAt") `);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX "public"."IDX_ea5d1f899fe52445dd6e0d0d55"`);
await queryRunner.query(`DROP INDEX "public"."IDX_0610406e5c436c20a5068b1006"`);
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(`ALTER TABLE "AlertEpisode" DROP COLUMN "allAlertsResolvedAt"`);
await queryRunner.query(`ALTER TABLE "IncidentEpisode" DROP COLUMN "allIncidentsResolvedAt"`);
await queryRunner.query(`ALTER TABLE "WorkspaceNotificationRule" ADD "workspaceProjectAuthTokenId" uuid`);
await queryRunner.query(`ALTER TABLE "WorkspaceNotificationRule" ADD CONSTRAINT "FK_WorkspaceNotificationRule_workspaceProjectAuthTokenId" FOREIGN KEY ("workspaceProjectAuthTokenId") REFERENCES "WorkspaceProjectAuthToken"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
}
}

View File

@@ -254,6 +254,7 @@ import { MigrationName1770237245069 } from "./1770237245069-MigrationName";
import { MigrationName1770237245070 } from "./1770237245070-MigrationName";
import { MigrationName1770407024682 } from "./1770407024682-MigrationName";
import { MigrationName1770668054908 } from "./1770668054908-MigrationName";
import { MigrationName1770728946893 } from "./1770728946893-MigrationName";
export default [
InitialMigration,
@@ -512,4 +513,5 @@ export default [
MigrationName1770237245070,
MigrationName1770407024682,
MigrationName1770668054908,
MigrationName1770728946893
];