-- CreateTable CREATE TABLE "Attendee" ( "id" TEXT NOT NULL, "tenantId" TEXT NOT NULL, "eventId" TEXT, "fullName" TEXT NOT NULL, "email" TEXT NOT NULL, "phone" TEXT, "tags" TEXT[] NOT NULL DEFAULT ARRAY[]::TEXT[], "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" TIMESTAMP(3) NOT NULL, CONSTRAINT "Attendee_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "AuditLog" ( "id" TEXT NOT NULL, "tenantId" TEXT, "actorUserId" TEXT, "action" TEXT NOT NULL, "entityType" TEXT, "entityId" TEXT, "ip" TEXT, "userAgent" TEXT, "metadata" JSONB, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "AuditLog_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE UNIQUE INDEX "Attendee_tenantId_email_key" ON "Attendee"("tenantId", "email"); -- CreateIndex CREATE INDEX "Attendee_tenantId_idx" ON "Attendee"("tenantId"); -- CreateIndex CREATE INDEX "Attendee_tenantId_eventId_idx" ON "Attendee"("tenantId", "eventId"); -- CreateIndex CREATE INDEX "AuditLog_tenantId_idx" ON "AuditLog"("tenantId"); -- CreateIndex CREATE INDEX "AuditLog_actorUserId_idx" ON "AuditLog"("actorUserId"); -- CreateIndex CREATE INDEX "AuditLog_entityType_entityId_idx" ON "AuditLog"("entityType", "entityId"); -- AddForeignKey ALTER TABLE "Attendee" ADD CONSTRAINT "Attendee_tenantId_fkey" FOREIGN KEY ("tenantId") REFERENCES "Tenant"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Attendee" ADD CONSTRAINT "Attendee_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "Event"("id") ON DELETE SET NULL ON UPDATE CASCADE;