From 6487f4b209554fdb29c6d67c5eb9f83445c991ba Mon Sep 17 00:00:00 2001 From: Matt Date: Tue, 28 Apr 2026 18:34:49 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20schema=20=E2=80=94=20mentor=20assignmen?= =?UTF-8?q?t=20drop=20tracking?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds 3 nullable fields to MentorAssignment for drop lifecycle: - droppedAt: timestamp of drop (null while active) - droppedReason: free text (required when droppedAt is set) - droppedBy: 'mentor' | 'admin' | 'finalist_unconfirmed' Migration is purely additive: no DROP, no ALTER COLUMN, no RENAME. All existing rows automatically get NULL for the new columns. --- .../20260428163421_add_mentor_drop_fields/migration.sql | 4 ++++ prisma/schema.prisma | 5 +++++ 2 files changed, 9 insertions(+) create mode 100644 prisma/migrations/20260428163421_add_mentor_drop_fields/migration.sql diff --git a/prisma/migrations/20260428163421_add_mentor_drop_fields/migration.sql b/prisma/migrations/20260428163421_add_mentor_drop_fields/migration.sql new file mode 100644 index 0000000..422bb20 --- /dev/null +++ b/prisma/migrations/20260428163421_add_mentor_drop_fields/migration.sql @@ -0,0 +1,4 @@ +-- AlterTable +ALTER TABLE "MentorAssignment" ADD COLUMN "droppedAt" TIMESTAMP(3), +ADD COLUMN "droppedBy" TEXT, +ADD COLUMN "droppedReason" TEXT; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index d5ccdbd..17bd691 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -1285,6 +1285,11 @@ model MentorAssignment { completionStatus String @default("in_progress") // 'in_progress' | 'completed' | 'paused' lastViewedAt DateTime? + // Drop tracking — null while assignment is active + droppedAt DateTime? + droppedReason String? @db.Text + droppedBy String? // 'mentor' | 'admin' | 'finalist_unconfirmed' + // ── Competition/Round architecture — workspace activation ── workspaceEnabled Boolean @default(false) workspaceOpenAt DateTime?