39 lines
1.2 KiB
SQL
39 lines
1.2 KiB
SQL
ALTER TABLE "PurchaseOrder" ADD COLUMN "projectId" TEXT REFERENCES "Project"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
CREATE INDEX "PurchaseOrder_projectId_issueDate_idx" ON "PurchaseOrder"("projectId", "issueDate");
|
|
|
|
UPDATE "WorkOrder"
|
|
SET "projectId" = (
|
|
SELECT "Project"."id"
|
|
FROM "Project"
|
|
WHERE "Project"."salesOrderId" = "WorkOrder"."salesOrderId"
|
|
ORDER BY "Project"."createdAt" ASC
|
|
LIMIT 1
|
|
)
|
|
WHERE "projectId" IS NULL
|
|
AND "salesOrderId" IS NOT NULL
|
|
AND EXISTS (
|
|
SELECT 1
|
|
FROM "Project"
|
|
WHERE "Project"."salesOrderId" = "WorkOrder"."salesOrderId"
|
|
);
|
|
|
|
UPDATE "PurchaseOrder"
|
|
SET "projectId" = (
|
|
SELECT "Project"."id"
|
|
FROM "PurchaseOrderLine"
|
|
INNER JOIN "Project" ON "Project"."salesOrderId" = "PurchaseOrderLine"."salesOrderId"
|
|
WHERE "PurchaseOrderLine"."purchaseOrderId" = "PurchaseOrder"."id"
|
|
AND "PurchaseOrderLine"."salesOrderId" IS NOT NULL
|
|
ORDER BY "Project"."createdAt" ASC
|
|
LIMIT 1
|
|
)
|
|
WHERE "projectId" IS NULL
|
|
AND EXISTS (
|
|
SELECT 1
|
|
FROM "PurchaseOrderLine"
|
|
INNER JOIN "Project" ON "Project"."salesOrderId" = "PurchaseOrderLine"."salesOrderId"
|
|
WHERE "PurchaseOrderLine"."purchaseOrderId" = "PurchaseOrder"."id"
|
|
AND "PurchaseOrderLine"."salesOrderId" IS NOT NULL
|
|
);
|