Files
umami/prisma/migrations/22_add_2fa/migration.sql
T

69 lines
1.9 KiB
SQL

-- AlterTable
ALTER TABLE "team" ADD COLUMN "two_factor_required" BOOLEAN NOT NULL DEFAULT false;
-- AlterTable
ALTER TABLE "user" ADD COLUMN "two_factor_required" BOOLEAN NOT NULL DEFAULT false;
-- CreateTable
CREATE TABLE "two_factor_auth" (
"id" TEXT NOT NULL,
"user_id" UUID NOT NULL,
"secret" TEXT NOT NULL,
"is_enabled" BOOLEAN NOT NULL DEFAULT false,
"created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMPTZ(6) NOT NULL,
CONSTRAINT "two_factor_auth_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "two_factor_backup_code" (
"id" TEXT NOT NULL,
"user_id" UUID NOT NULL,
"code_hash" TEXT NOT NULL,
"used" BOOLEAN NOT NULL DEFAULT false,
"created_at" TIMESTAMPTZ(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "two_factor_backup_code_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "two_factor_otp_used" (
"id" TEXT NOT NULL,
"user_id" UUID NOT NULL,
"otp" TEXT NOT NULL,
"expires_at" TIMESTAMPTZ(6) NOT NULL,
CONSTRAINT "two_factor_otp_used_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "two_factor_rate_limit" (
"id" TEXT NOT NULL,
"user_id" UUID NOT NULL,
"attempts" INTEGER NOT NULL DEFAULT 0,
"locked_until" TIMESTAMPTZ(6),
"updated_at" TIMESTAMPTZ(6) NOT NULL,
CONSTRAINT "two_factor_rate_limit_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "app_setting" (
"key" TEXT NOT NULL,
"value" TEXT NOT NULL,
CONSTRAINT "app_setting_pkey" PRIMARY KEY ("key")
);
-- CreateIndex
CREATE UNIQUE INDEX "two_factor_auth_user_id_key" ON "two_factor_auth"("user_id");
-- CreateIndex
CREATE INDEX "two_factor_backup_code_user_id_idx" ON "two_factor_backup_code"("user_id");
-- CreateIndex
CREATE UNIQUE INDEX "two_factor_otp_used_user_id_otp_key" ON "two_factor_otp_used"("user_id", "otp");
-- CreateIndex
CREATE UNIQUE INDEX "two_factor_rate_limit_user_id_key" ON "two_factor_rate_limit"("user_id");