diff --git a/prisma/migrations/20260824121446_add_incident_alert_relationship/migration.sql b/prisma/migrations/20260824121446_add_incident_alert_relationship/migration.sql new file mode 100644 index 0000000..121d347 --- /dev/null +++ b/prisma/migrations/20260824121446_add_incident_alert_relationship/migration.sql @@ -0,0 +1,9 @@ +-- AlterTable +ALTER TABLE "alerts" ADD COLUMN "incidentId" TEXT; + +-- CreateIndex +CREATE INDEX "alerts_incidentId_idx" ON "alerts"("incidentId"); + +-- AddForeignKey +ALTER TABLE "alerts" ADD CONSTRAINT "alerts_incidentId_fkey" FOREIGN KEY ("incidentId") REFERENCES "incidents"("id") ON DELETE SET NULL ON UPDATE CASCADE; + diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 86a7b13..29ce9ab 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -24,19 +24,22 @@ model User { } model Alert { - id String @id @default(cuid()) - userId String - message String - severity String - status String @default("open") - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt + id String @id @default(cuid()) + userId String + incidentId String? + message String + severity String + status String @default("open") + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt acknowledgedAt DateTime? acknowledgedBy String? - user User @relation(fields: [userId], references: [id]) + user User @relation(fields: [userId], references: [id]) + incident Incident? @relation(fields: [incidentId], references: [id]) + @@index([incidentId]) @@map("alerts") } @@ -206,6 +209,7 @@ model Incident { closedAt DateTime? assignedUser User? @relation(fields: [assignedUserId], references: [id]) + alerts Alert[] auditEntries IncidentAuditLog[] @@index([status])