From ac66cee4aa4f9b469805b49772f072575f3fb0f5 Mon Sep 17 00:00:00 2001 From: Nawaz Dhandala Date: Fri, 28 Nov 2025 10:12:43 +0000 Subject: [PATCH] feat: add declaredAt field to Incident model with migration and default value --- Common/Models/DatabaseModels/Incident.ts | 7 ++++--- .../1764324618043-MigrationName.ts | 19 +++++++++++++++++++ .../Postgres/SchemaMigrations/Index.ts | 2 ++ vscode-copilot-chat | 1 + 4 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 Common/Server/Infrastructure/Postgres/SchemaMigrations/1764324618043-MigrationName.ts create mode 160000 vscode-copilot-chat diff --git a/Common/Models/DatabaseModels/Incident.ts b/Common/Models/DatabaseModels/Incident.ts index e6d5a5734f..20134512e2 100644 --- a/Common/Models/DatabaseModels/Incident.ts +++ b/Common/Models/DatabaseModels/Incident.ts @@ -250,15 +250,16 @@ export default class Incident extends BaseModel { }) @Index() @TableColumn({ - required: false, + required: true, type: TableColumnType.Date, title: "Declared At", description: "Date and time when this incident was declared.", - isDefaultValueColumn: false, + isDefaultValueColumn: true, }) @Column({ type: ColumnType.Date, - nullable: true, + nullable: false, + default: () => "now()", }) public declaredAt?: Date = undefined; diff --git a/Common/Server/Infrastructure/Postgres/SchemaMigrations/1764324618043-MigrationName.ts b/Common/Server/Infrastructure/Postgres/SchemaMigrations/1764324618043-MigrationName.ts new file mode 100644 index 0000000000..fcb994a430 --- /dev/null +++ b/Common/Server/Infrastructure/Postgres/SchemaMigrations/1764324618043-MigrationName.ts @@ -0,0 +1,19 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class MigrationName1764324618043 implements MigrationInterface { + public name = 'MigrationName1764324618043' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "Incident" ADD "declaredAt" TIMESTAMP WITH TIME ZONE`); + await queryRunner.query(`UPDATE "Incident" SET "declaredAt" = "createdAt" WHERE "declaredAt" IS NULL`); + await queryRunner.query(`ALTER TABLE "Incident" ALTER COLUMN "declaredAt" SET DEFAULT now()`); + await queryRunner.query(`ALTER TABLE "Incident" ALTER COLUMN "declaredAt" SET NOT NULL`); + await queryRunner.query(`CREATE INDEX "IDX_b26979b9f119310661734465a4" ON "Incident" ("declaredAt") `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DROP INDEX "public"."IDX_b26979b9f119310661734465a4"`); + await queryRunner.query(`ALTER TABLE "Incident" DROP COLUMN "declaredAt"`); + } + +} diff --git a/Common/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts b/Common/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts index 116da67854..5a82b0ffd3 100644 --- a/Common/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +++ b/Common/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts @@ -186,6 +186,7 @@ import { MigrationName1763471659817 } from "./1763471659817-MigrationName"; import { MigrationName1763477560906 } from "./1763477560906-MigrationName"; import { MigrationName1763480947474 } from "./1763480947474-MigrationName"; import { MigrationName1763643080445 } from "./1763643080445-MigrationName"; +import { MigrationName1764324618043 } from "./1764324618043-MigrationName"; export default [ InitialMigration, @@ -376,4 +377,5 @@ export default [ MigrationName1763477560906, MigrationName1763480947474, MigrationName1763643080445, + MigrationName1764324618043 ]; diff --git a/vscode-copilot-chat b/vscode-copilot-chat new file mode 160000 index 0000000000..17b20ceffa --- /dev/null +++ b/vscode-copilot-chat @@ -0,0 +1 @@ +Subproject commit 17b20ceffad14beca81f3c06c1e267d58aa0ffc5