68 lines
2.3 KiB
PL/PgSQL
68 lines
2.3 KiB
PL/PgSQL
/*
|
|
Warnings:
|
|
|
|
- The values [WIFI,EMAIL] on the enum `ContentType` will be removed. If these variants are still used in the database, this will fail.
|
|
- A unique constraint covering the columns `[resetPasswordToken]` on the table `User` will be added. If there are existing duplicate values, this will fail.
|
|
|
|
*/
|
|
-- AlterEnum
|
|
BEGIN;
|
|
CREATE TYPE "ContentType_new" AS ENUM ('URL', 'VCARD', 'GEO', 'PHONE', 'SMS', 'TEXT', 'WHATSAPP');
|
|
ALTER TABLE "QRCode" ALTER COLUMN "contentType" DROP DEFAULT;
|
|
ALTER TABLE "QRCode" ALTER COLUMN "contentType" TYPE "ContentType_new" USING ("contentType"::text::"ContentType_new");
|
|
ALTER TYPE "ContentType" RENAME TO "ContentType_old";
|
|
ALTER TYPE "ContentType_new" RENAME TO "ContentType";
|
|
DROP TYPE "ContentType_old";
|
|
ALTER TABLE "QRCode" ALTER COLUMN "contentType" SET DEFAULT 'URL';
|
|
COMMIT;
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "User" ADD COLUMN "resetPasswordExpires" TIMESTAMP(3),
|
|
ADD COLUMN "resetPasswordToken" TEXT;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "NewsletterSubscription" (
|
|
"id" TEXT NOT NULL,
|
|
"email" TEXT NOT NULL,
|
|
"source" TEXT NOT NULL DEFAULT 'ai-coming-soon',
|
|
"status" TEXT NOT NULL DEFAULT 'subscribed',
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "NewsletterSubscription_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Lead" (
|
|
"id" TEXT NOT NULL,
|
|
"email" TEXT NOT NULL,
|
|
"source" TEXT NOT NULL DEFAULT 'reprint-calculator',
|
|
"reprintCost" DOUBLE PRECISION,
|
|
"updatesPerYear" INTEGER,
|
|
"annualSavings" DOUBLE PRECISION,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "Lead_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "NewsletterSubscription_email_key" ON "NewsletterSubscription"("email");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "NewsletterSubscription_email_idx" ON "NewsletterSubscription"("email");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "NewsletterSubscription_createdAt_idx" ON "NewsletterSubscription"("createdAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "Lead_email_idx" ON "Lead"("email");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "Lead_createdAt_idx" ON "Lead"("createdAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "Lead_source_idx" ON "Lead"("source");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "User_resetPasswordToken_key" ON "User"("resetPasswordToken");
|