CREATE TABLE "ApiKey" ( "id" TEXT NOT NULL, "userId" TEXT NOT NULL, "name" TEXT NOT NULL, "prefix" TEXT NOT NULL, "keyHash" TEXT NOT NULL, "scopes" TEXT[] NOT NULL DEFAULT ARRAY['transactions:read']::TEXT[], "lastUsedAt" TIMESTAMP(3), "revokedAt" TIMESTAMP(3), "expiresAt" TIMESTAMP(3), "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "ApiKey_pkey" PRIMARY KEY ("id") ); CREATE UNIQUE INDEX "ApiKey_keyHash_key" ON "ApiKey"("keyHash"); CREATE INDEX "ApiKey_userId_createdAt_idx" ON "ApiKey"("userId", "createdAt"); CREATE INDEX "ApiKey_prefix_idx" ON "ApiKey"("prefix"); ALTER TABLE "ApiKey" ADD CONSTRAINT "ApiKey_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;