backfill from projects
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
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
|
||||
);
|
||||
@@ -618,6 +618,7 @@ model Project {
|
||||
shipment Shipment? @relation(fields: [shipmentId], references: [id], onDelete: SetNull)
|
||||
owner User? @relation("ProjectOwner", fields: [ownerId], references: [id], onDelete: SetNull)
|
||||
workOrders WorkOrder[]
|
||||
purchaseOrders PurchaseOrder[]
|
||||
milestones ProjectMilestone[]
|
||||
|
||||
@@index([customerId, createdAt])
|
||||
@@ -864,6 +865,7 @@ model PurchaseOrder {
|
||||
id String @id @default(cuid())
|
||||
documentNumber String @unique
|
||||
vendorId String
|
||||
projectId String?
|
||||
status String
|
||||
issueDate DateTime
|
||||
taxPercent Float @default(0)
|
||||
@@ -872,10 +874,13 @@ model PurchaseOrder {
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
vendor Vendor @relation(fields: [vendorId], references: [id], onDelete: Restrict)
|
||||
project Project? @relation(fields: [projectId], references: [id], onDelete: SetNull)
|
||||
lines PurchaseOrderLine[]
|
||||
receipts PurchaseReceipt[]
|
||||
revisions PurchaseOrderRevision[]
|
||||
capexEntries CapexEntry[]
|
||||
|
||||
@@index([projectId, issueDate])
|
||||
}
|
||||
|
||||
model PurchaseOrderLine {
|
||||
|
||||
Reference in New Issue
Block a user