37 lines
1.5 KiB
SQL
37 lines
1.5 KiB
SQL
-- 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");
|