fix(umkm): make PasarDesa.kategoriProdukId nullable, null-out orphaned refs - bump to 0.1.38
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "desa-darmasaba",
|
"name": "desa-darmasaba",
|
||||||
"version": "0.1.37",
|
"version": "0.1.38",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
-- Step 1: Seed KategoriProdukUmkm from KategoriProduk for any PasarDesa-referenced entries not yet present
|
||||||
|
INSERT INTO "KategoriProdukUmkm" ("id", "nama", "createdAt", "updatedAt", "deletedAt", "isActive")
|
||||||
|
SELECT DISTINCT kp.id, kp.nama, kp."createdAt", kp."updatedAt", kp."deletedAt", kp."isActive"
|
||||||
|
FROM "KategoriProduk" kp
|
||||||
|
WHERE kp.id IN (
|
||||||
|
SELECT DISTINCT "kategoriProdukId" FROM "PasarDesa"
|
||||||
|
WHERE "kategoriProdukId" IS NOT NULL
|
||||||
|
)
|
||||||
|
AND NOT EXISTS (
|
||||||
|
SELECT 1 FROM "KategoriProdukUmkm" WHERE id = kp.id
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Step 2: Make kategoriProdukId nullable to handle orphaned/legacy data
|
||||||
|
ALTER TABLE "PasarDesa" ALTER COLUMN "kategoriProdukId" DROP NOT NULL;
|
||||||
|
|
||||||
|
-- Step 3: Null out any remaining orphaned references (not in KategoriProdukUmkm)
|
||||||
|
UPDATE "PasarDesa"
|
||||||
|
SET "kategoriProdukId" = NULL
|
||||||
|
WHERE "kategoriProdukId" IS NOT NULL
|
||||||
|
AND "kategoriProdukId" NOT IN (SELECT id FROM "KategoriProdukUmkm");
|
||||||
@@ -1445,8 +1445,8 @@ model PasarDesa {
|
|||||||
deletedAt DateTime?
|
deletedAt DateTime?
|
||||||
isActive Boolean @default(true)
|
isActive Boolean @default(true)
|
||||||
|
|
||||||
kategoriProduk KategoriProduk @relation(fields: [kategoriProdukId], references: [id])
|
kategoriProduk KategoriProdukUmkm? @relation(fields: [kategoriProdukId], references: [id])
|
||||||
kategoriProdukId String
|
kategoriProdukId String?
|
||||||
KategoriToPasar KategoriToPasar[]
|
KategoriToPasar KategoriToPasar[]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1458,7 +1458,6 @@ model KategoriProduk {
|
|||||||
deletedAt DateTime?
|
deletedAt DateTime?
|
||||||
isActive Boolean @default(true)
|
isActive Boolean @default(true)
|
||||||
KategoriToPasar KategoriToPasar[]
|
KategoriToPasar KategoriToPasar[]
|
||||||
PasarDesa PasarDesa[]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
model KategoriToPasar {
|
model KategoriToPasar {
|
||||||
@@ -2441,13 +2440,14 @@ model Umkm {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model KategoriProdukUmkm {
|
model KategoriProdukUmkm {
|
||||||
id String @id @default(cuid())
|
id String @id @default(cuid())
|
||||||
nama String
|
nama String
|
||||||
createdAt DateTime @default(now())
|
createdAt DateTime @default(now())
|
||||||
updatedAt DateTime @updatedAt
|
updatedAt DateTime @updatedAt
|
||||||
deletedAt DateTime?
|
deletedAt DateTime?
|
||||||
isActive Boolean @default(true)
|
isActive Boolean @default(true)
|
||||||
Umkm Umkm[]
|
Umkm Umkm[]
|
||||||
|
PasarDesa PasarDesa[]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user