From 67beccc16da2378c965b50ff5c8be4a8e3b1051b Mon Sep 17 00:00:00 2001 From: Hardik Date: Wed, 6 May 2026 00:21:37 +0530 Subject: [PATCH] fix(seed): upsert POs so re-running seed does not fail on duplicate poNumber; currency USD -> INR --- App/pelagia-portal/prisma/seed.ts | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/App/pelagia-portal/prisma/seed.ts b/App/pelagia-portal/prisma/seed.ts index 391d934..3381137 100644 --- a/App/pelagia-portal/prisma/seed.ts +++ b/App/pelagia-portal/prisma/seed.ts @@ -185,14 +185,16 @@ async function main() { }, }); - // Sample POs - const po1 = await db.purchaseOrder.create({ - data: { + // Sample POs — upsert so re-running seed is safe + const po1 = await db.purchaseOrder.upsert({ + where: { poNumber: "PO-2026-00001" }, + update: {}, + create: { poNumber: "PO-2026-00001", title: "Engine Room Spare Parts — MV Pelagia Star", status: "MGR_REVIEW", totalAmount: 8450.0, - currency: "USD", + currency: "INR", submittedAt: new Date(), submitterId: technical.id, vesselId: mv1.id, @@ -214,13 +216,15 @@ async function main() { }, }); - await db.purchaseOrder.create({ - data: { + await db.purchaseOrder.upsert({ + where: { poNumber: "PO-2026-00002" }, + update: {}, + create: { poNumber: "PO-2026-00002", title: "Crew Safety Equipment — MV Aegean Wind", status: "DRAFT", totalAmount: 3200.0, - currency: "USD", + currency: "INR", submitterId: technical.id, vesselId: mv2.id, accountId: acc2.id, @@ -236,13 +240,15 @@ async function main() { }, }); - await db.purchaseOrder.create({ - data: { + await db.purchaseOrder.upsert({ + where: { poNumber: "PO-2026-00003" }, + update: {}, + create: { poNumber: "PO-2026-00003", title: "Navigation Charts Update — Fleet", status: "MGR_APPROVED", totalAmount: 950.0, - currency: "USD", + currency: "INR", submittedAt: new Date(Date.now() - 5 * 86400000), approvedAt: new Date(Date.now() - 2 * 86400000), submitterId: technical.id,