65 lines
2.1 KiB
SQL
65 lines
2.1 KiB
SQL
-- CreateEnum
|
|
CREATE TYPE "ComplexUserRole" AS ENUM ('ADMIN');
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "complex_users" (
|
|
"complex_id" UUID NOT NULL,
|
|
"user_id" UUID NOT NULL,
|
|
"role" "ComplexUserRole" NOT NULL DEFAULT 'ADMIN',
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "complex_users_pkey" PRIMARY KEY ("complex_id","user_id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "onboarding_requests" (
|
|
"id" UUID NOT NULL,
|
|
"full_name" TEXT NOT NULL,
|
|
"email" TEXT NOT NULL,
|
|
"email_verification_token_hash" TEXT NOT NULL,
|
|
"email_verification_sent_at" TIMESTAMP(3) NOT NULL,
|
|
"email_verified_at" TIMESTAMP(3),
|
|
"expires_at" TIMESTAMP(3) NOT NULL,
|
|
"completed_at" TIMESTAMP(3),
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "onboarding_requests_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "users" (
|
|
"id" UUID NOT NULL,
|
|
"supabase_user_id" UUID NOT NULL,
|
|
"email" TEXT NOT NULL,
|
|
"full_name" TEXT NOT NULL,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "users_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "complex_users_user_id_idx" ON "complex_users"("user_id");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "onboarding_requests_email_verification_token_hash_key" ON "onboarding_requests"("email_verification_token_hash");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "onboarding_requests_email_idx" ON "onboarding_requests"("email");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "onboarding_requests_expires_at_idx" ON "onboarding_requests"("expires_at");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "users_supabase_user_id_key" ON "users"("supabase_user_id");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "users_email_key" ON "users"("email");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "complex_users" ADD CONSTRAINT "complex_users_complex_id_fkey" FOREIGN KEY ("complex_id") REFERENCES "complexes"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "complex_users" ADD CONSTRAINT "complex_users_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|