53 lines
1.8 KiB
SQL
53 lines
1.8 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "LeadForm" (
|
|
"id" TEXT NOT NULL,
|
|
"organizationId" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"publicToken" TEXT NOT NULL,
|
|
"isActive" BOOLEAN NOT NULL DEFAULT true,
|
|
"createPerson" BOOLEAN NOT NULL DEFAULT true,
|
|
"createDeal" BOOLEAN NOT NULL DEFAULT true,
|
|
"pipelineId" TEXT,
|
|
"source" TEXT,
|
|
"thankYouMessage" TEXT,
|
|
"redirectUrl" TEXT,
|
|
"assigneeIds" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
|
"roundRobinIndex" INTEGER NOT NULL DEFAULT 0,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "LeadForm_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "LeadFormField" (
|
|
"id" TEXT NOT NULL,
|
|
"formId" TEXT NOT NULL,
|
|
"key" TEXT NOT NULL,
|
|
"label" TEXT NOT NULL,
|
|
"fieldType" TEXT NOT NULL DEFAULT 'text',
|
|
"required" BOOLEAN NOT NULL DEFAULT false,
|
|
"mapTo" TEXT NOT NULL,
|
|
"position" INTEGER NOT NULL DEFAULT 0,
|
|
|
|
CONSTRAINT "LeadFormField_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "LeadForm_publicToken_key" ON "LeadForm"("publicToken");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "LeadForm_organizationId_updatedAt_idx" ON "LeadForm"("organizationId", "updatedAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "LeadFormField_formId_position_idx" ON "LeadFormField"("formId", "position");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "LeadFormField_formId_key_key" ON "LeadFormField"("formId", "key");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "LeadForm" ADD CONSTRAINT "LeadForm_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES "Organization"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "LeadFormField" ADD CONSTRAINT "LeadFormField_formId_fkey" FOREIGN KEY ("formId") REFERENCES "LeadForm"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|