34 lines
1.3 KiB
SQL
34 lines
1.3 KiB
SQL
-- AlterTable
|
|
ALTER TABLE "User" ADD COLUMN IF NOT EXISTS "mobile" TEXT;
|
|
ALTER TABLE "User" ADD COLUMN IF NOT EXISTS "emailVerifiedAt" TIMESTAMP(3);
|
|
ALTER TABLE "User" ADD COLUMN IF NOT EXISTS "mobileVerifiedAt" TIMESTAMP(3);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX IF NOT EXISTS "User_mobile_key" ON "User"("mobile");
|
|
CREATE INDEX IF NOT EXISTS "User_email_idx" ON "User"("email");
|
|
|
|
-- CreateTable
|
|
CREATE TABLE IF NOT EXISTS "AuthChallenge" (
|
|
"id" TEXT NOT NULL,
|
|
"kind" TEXT NOT NULL,
|
|
"channel" TEXT,
|
|
"email" TEXT,
|
|
"mobile" TEXT,
|
|
"passwordHash" TEXT,
|
|
"payload" JSONB NOT NULL DEFAULT '{}',
|
|
"emailCode" TEXT,
|
|
"mobileCode" TEXT,
|
|
"emailVerified" BOOLEAN NOT NULL DEFAULT false,
|
|
"mobileVerified" BOOLEAN NOT NULL DEFAULT false,
|
|
"expiresAt" TIMESTAMP(3) NOT NULL,
|
|
"consumedAt" TIMESTAMP(3),
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "AuthChallenge_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS "AuthChallenge_kind_createdAt_idx" ON "AuthChallenge"("kind", "createdAt");
|
|
CREATE INDEX IF NOT EXISTS "AuthChallenge_expiresAt_idx" ON "AuthChallenge"("expiresAt");
|
|
CREATE INDEX IF NOT EXISTS "AuthChallenge_email_idx" ON "AuthChallenge"("email");
|
|
CREATE INDEX IF NOT EXISTS "AuthChallenge_mobile_idx" ON "AuthChallenge"("mobile");
|