-- CreateTable CREATE TABLE "User" ( "id" TEXT NOT NULL PRIMARY KEY, "email" TEXT NOT NULL, "passwordHash" TEXT, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" DATETIME NOT NULL ); -- CreateTable CREATE TABLE "AuthCode" ( "id" TEXT NOT NULL PRIMARY KEY, "email" TEXT NOT NULL, "codeHash" TEXT NOT NULL, "purpose" TEXT NOT NULL, "expiresAt" DATETIME NOT NULL, "usedAt" DATETIME, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "userId" TEXT, CONSTRAINT "AuthCode_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE CASCADE ON UPDATE CASCADE ); -- CreateIndex CREATE UNIQUE INDEX "User_email_key" ON "User"("email"); -- CreateIndex CREATE INDEX "AuthCode_email_purpose_idx" ON "AuthCode"("email", "purpose"); -- CreateIndex CREATE INDEX "AuthCode_expiresAt_idx" ON "AuthCode"("expiresAt");