POs
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE "PurchaseOrder" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"documentNumber" TEXT NOT NULL,
|
||||
"vendorId" TEXT NOT NULL,
|
||||
"status" TEXT NOT NULL,
|
||||
"issueDate" DATETIME NOT NULL,
|
||||
"taxPercent" REAL NOT NULL DEFAULT 0,
|
||||
"freightAmount" REAL NOT NULL DEFAULT 0,
|
||||
"notes" TEXT NOT NULL,
|
||||
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" DATETIME NOT NULL,
|
||||
CONSTRAINT "PurchaseOrder_vendorId_fkey" FOREIGN KEY ("vendorId") REFERENCES "Vendor" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "PurchaseOrderLine" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"purchaseOrderId" TEXT NOT NULL,
|
||||
"itemId" TEXT NOT NULL,
|
||||
"description" TEXT NOT NULL,
|
||||
"quantity" INTEGER NOT NULL,
|
||||
"unitOfMeasure" TEXT NOT NULL,
|
||||
"unitCost" REAL NOT NULL,
|
||||
"position" INTEGER NOT NULL DEFAULT 0,
|
||||
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" DATETIME NOT NULL,
|
||||
CONSTRAINT "PurchaseOrderLine_purchaseOrderId_fkey" FOREIGN KEY ("purchaseOrderId") REFERENCES "PurchaseOrder" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT "PurchaseOrderLine_itemId_fkey" FOREIGN KEY ("itemId") REFERENCES "InventoryItem" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "PurchaseOrder_documentNumber_key" ON "PurchaseOrder"("documentNumber");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "PurchaseOrderLine_purchaseOrderId_position_idx" ON "PurchaseOrderLine"("purchaseOrderId", "position");
|
||||
@@ -122,6 +122,7 @@ model InventoryItem {
|
||||
inventoryTransactions InventoryTransaction[]
|
||||
salesQuoteLines SalesQuoteLine[]
|
||||
salesOrderLines SalesOrderLine[]
|
||||
purchaseOrderLines PurchaseOrderLine[]
|
||||
}
|
||||
|
||||
model Warehouse {
|
||||
@@ -250,6 +251,7 @@ model Vendor {
|
||||
updatedAt DateTime @updatedAt
|
||||
contactEntries CrmContactEntry[]
|
||||
contacts CrmContact[]
|
||||
purchaseOrders PurchaseOrder[]
|
||||
}
|
||||
|
||||
model CrmContactEntry {
|
||||
@@ -368,3 +370,35 @@ model Shipment {
|
||||
|
||||
@@index([salesOrderId, createdAt])
|
||||
}
|
||||
|
||||
model PurchaseOrder {
|
||||
id String @id @default(cuid())
|
||||
documentNumber String @unique
|
||||
vendorId String
|
||||
status String
|
||||
issueDate DateTime
|
||||
taxPercent Float @default(0)
|
||||
freightAmount Float @default(0)
|
||||
notes String
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
vendor Vendor @relation(fields: [vendorId], references: [id], onDelete: Restrict)
|
||||
lines PurchaseOrderLine[]
|
||||
}
|
||||
|
||||
model PurchaseOrderLine {
|
||||
id String @id @default(cuid())
|
||||
purchaseOrderId String
|
||||
itemId String
|
||||
description String
|
||||
quantity Int
|
||||
unitOfMeasure String
|
||||
unitCost Float
|
||||
position Int @default(0)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
purchaseOrder PurchaseOrder @relation(fields: [purchaseOrderId], references: [id], onDelete: Cascade)
|
||||
item InventoryItem @relation(fields: [itemId], references: [id], onDelete: Restrict)
|
||||
|
||||
@@index([purchaseOrderId, position])
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user