From 40b67f2a5ff97e46d783466beca4c0643a6100b3 Mon Sep 17 00:00:00 2001 From: bernd Date: Thu, 13 Aug 2026 07:18:13 +0000 Subject: [PATCH] Seed: skip if DB already has data instead of wiping it The seed's deleteMany() chain didn't cover Ticket (or other tables that now reference User), so it started failing with a foreign key violation once real ticket data existed. Rather than cascading the delete (which would wipe real data on every container restart), seed now only runs against an empty database and is a no-op otherwise. --- backend/prisma/seed.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/backend/prisma/seed.ts b/backend/prisma/seed.ts index 95805e2..7bb4ae1 100644 --- a/backend/prisma/seed.ts +++ b/backend/prisma/seed.ts @@ -15,12 +15,13 @@ const TENANT_DEMO_PASSWORD = 'Mieter2026!'; * - je 1 offene Mietzahlung für den aktuellen Monat (für den Banking-Test) */ async function main() { - console.log('Seed: lösche vorhandene Testdaten...'); - await prisma.invitation.deleteMany(); - await prisma.payment.deleteMany(); - await prisma.contract.deleteMany(); - await prisma.room.deleteMany(); - await prisma.user.deleteMany(); + const existingUsers = await prisma.user.count(); + if (existingUsers > 0) { + console.log('Seed: Datenbank enthält bereits Daten, überspringe Seed.'); + return; + } + + console.log('Seed: lege Testdaten an...'); const landlord = await prisma.user.create({ data: {