Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
55 lines
1.9 KiB
SQL
55 lines
1.9 KiB
SQL
-- CreateEnum
|
|
CREATE TYPE "WebRequestStatus" AS ENUM ('NEW', 'LINKED', 'ORDERED', 'CANCELLED');
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "WebRequest" (
|
|
"id" TEXT NOT NULL,
|
|
"number" SERIAL NOT NULL,
|
|
"token" TEXT NOT NULL,
|
|
"serviceId" TEXT NOT NULL,
|
|
"params" JSONB NOT NULL,
|
|
"preferredAt" TIMESTAMP(3) NOT NULL,
|
|
"durationMinutes" INTEGER NOT NULL,
|
|
"districtId" TEXT NOT NULL,
|
|
"addressText" TEXT NOT NULL,
|
|
"note" TEXT,
|
|
"phone" TEXT NOT NULL,
|
|
"name" TEXT,
|
|
"locale" "Locale" NOT NULL,
|
|
"totalPrice" INTEGER NOT NULL,
|
|
"consentAt" TIMESTAMP(3) NOT NULL,
|
|
"consentVersion" TEXT NOT NULL,
|
|
"status" "WebRequestStatus" NOT NULL DEFAULT 'NEW',
|
|
"clientId" TEXT,
|
|
"orderId" TEXT,
|
|
"adminNote" TEXT,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "WebRequest_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "WebRequest_number_key" ON "WebRequest"("number");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "WebRequest_token_key" ON "WebRequest"("token");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "WebRequest_orderId_key" ON "WebRequest"("orderId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "WebRequest_status_createdAt_idx" ON "WebRequest"("status", "createdAt");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "WebRequest" ADD CONSTRAINT "WebRequest_serviceId_fkey" FOREIGN KEY ("serviceId") REFERENCES "Service"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "WebRequest" ADD CONSTRAINT "WebRequest_districtId_fkey" FOREIGN KEY ("districtId") REFERENCES "District"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "WebRequest" ADD CONSTRAINT "WebRequest_clientId_fkey" FOREIGN KEY ("clientId") REFERENCES "Client"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "WebRequest" ADD CONSTRAINT "WebRequest_orderId_fkey" FOREIGN KEY ("orderId") REFERENCES "Order"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|