-- CreateEnum CREATE TYPE "Type" AS ENUM ('EMAIL', 'PHONE'); -- CreateTable CREATE TABLE "auth" ( "uuid" UUID NOT NULL, "password" TEXT NOT NULL, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" TIMESTAMP(3) NOT NULL, CONSTRAINT "auth_pkey" PRIMARY KEY ("uuid") ); -- CreateTable CREATE TABLE "username" ( "username" TEXT NOT NULL, "authUuid" UUID NOT NULL, "type" "Type" NOT NULL DEFAULT 'EMAIL', "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" TIMESTAMP(3) NOT NULL, CONSTRAINT "username_pkey" PRIMARY KEY ("username") ); -- CreateIndex CREATE UNIQUE INDEX "username_authUuid_type_key" ON "username"("authUuid", "type"); -- AddForeignKey ALTER TABLE "username" ADD CONSTRAINT "username_authUuid_fkey" FOREIGN KEY ("authUuid") REFERENCES "auth"("uuid") ON DELETE CASCADE ON UPDATE CASCADE;