53 lines
1.6 KiB
SQL
53 lines
1.6 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "Customer" (
|
|
"id" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"email" TEXT,
|
|
"phone" TEXT,
|
|
"instagram" TEXT,
|
|
"notes" TEXT,
|
|
"isRecurring" BOOLEAN NOT NULL DEFAULT false,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "Customer_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Commission" (
|
|
"id" TEXT NOT NULL,
|
|
"title" TEXT NOT NULL,
|
|
"description" TEXT,
|
|
"status" TEXT NOT NULL,
|
|
"customerId" TEXT,
|
|
"assignedUserId" TEXT,
|
|
"budgetMin" DOUBLE PRECISION,
|
|
"budgetMax" DOUBLE PRECISION,
|
|
"dueAt" TIMESTAMP(3),
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "Commission_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "Customer_email_idx" ON "Customer"("email");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "Customer_isRecurring_idx" ON "Customer"("isRecurring");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "Commission_status_idx" ON "Commission"("status");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "Commission_customerId_idx" ON "Commission"("customerId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "Commission_assignedUserId_idx" ON "Commission"("assignedUserId");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Commission" ADD CONSTRAINT "Commission_customerId_fkey" FOREIGN KEY ("customerId") REFERENCES "Customer"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Commission" ADD CONSTRAINT "Commission_assignedUserId_fkey" FOREIGN KEY ("assignedUserId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|