71 lines
2.7 KiB
SQL
71 lines
2.7 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "SalesQuote" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"documentNumber" TEXT NOT NULL,
|
|
"customerId" TEXT NOT NULL,
|
|
"status" TEXT NOT NULL,
|
|
"issueDate" DATETIME NOT NULL,
|
|
"expiresAt" DATETIME,
|
|
"notes" TEXT NOT NULL,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL,
|
|
CONSTRAINT "SalesQuote_customerId_fkey" FOREIGN KEY ("customerId") REFERENCES "Customer" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "SalesQuoteLine" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"quoteId" TEXT NOT NULL,
|
|
"itemId" TEXT NOT NULL,
|
|
"description" TEXT NOT NULL,
|
|
"quantity" INTEGER NOT NULL,
|
|
"unitOfMeasure" TEXT NOT NULL,
|
|
"unitPrice" REAL NOT NULL,
|
|
"position" INTEGER NOT NULL DEFAULT 0,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL,
|
|
CONSTRAINT "SalesQuoteLine_quoteId_fkey" FOREIGN KEY ("quoteId") REFERENCES "SalesQuote" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT "SalesQuoteLine_itemId_fkey" FOREIGN KEY ("itemId") REFERENCES "InventoryItem" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "SalesOrder" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"documentNumber" TEXT NOT NULL,
|
|
"customerId" TEXT NOT NULL,
|
|
"status" TEXT NOT NULL,
|
|
"issueDate" DATETIME NOT NULL,
|
|
"notes" TEXT NOT NULL,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL,
|
|
CONSTRAINT "SalesOrder_customerId_fkey" FOREIGN KEY ("customerId") REFERENCES "Customer" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "SalesOrderLine" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"orderId" TEXT NOT NULL,
|
|
"itemId" TEXT NOT NULL,
|
|
"description" TEXT NOT NULL,
|
|
"quantity" INTEGER NOT NULL,
|
|
"unitOfMeasure" TEXT NOT NULL,
|
|
"unitPrice" REAL NOT NULL,
|
|
"position" INTEGER NOT NULL DEFAULT 0,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL,
|
|
CONSTRAINT "SalesOrderLine_orderId_fkey" FOREIGN KEY ("orderId") REFERENCES "SalesOrder" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT "SalesOrderLine_itemId_fkey" FOREIGN KEY ("itemId") REFERENCES "InventoryItem" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "SalesQuote_documentNumber_key" ON "SalesQuote"("documentNumber");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "SalesQuoteLine_quoteId_position_idx" ON "SalesQuoteLine"("quoteId", "position");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "SalesOrder_documentNumber_key" ON "SalesOrder"("documentNumber");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "SalesOrderLine_orderId_position_idx" ON "SalesOrderLine"("orderId", "position");
|