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.
This commit is contained in:
Giuseppe Lombardo 2026-08-13 07:18:13 +00:00
parent d1b2447d92
commit 40b67f2a5f

View File

@ -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: {