-- AlterTable ALTER TABLE "Category" ADD COLUMN "isActive" BOOLEAN NOT NULL DEFAULT true; -- AlterTable ALTER TABLE "User" ADD COLUMN "disabledAt" TIMESTAMP(3), ADD COLUMN "mutedUntil" TIMESTAMP(3), ADD COLUMN "suspendedUntil" TIMESTAMP(3); -- CreateTable CREATE TABLE "UserNote" ( "id" SERIAL NOT NULL, "userId" INTEGER NOT NULL, "createdById" INTEGER NOT NULL, "note" TEXT NOT NULL, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "UserNote_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "AuditEvent" ( "id" SERIAL NOT NULL, "userId" INTEGER, "action" TEXT NOT NULL, "ip" TEXT, "userAgent" TEXT, "meta" JSONB, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "AuditEvent_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE INDEX "UserNote_userId_createdAt_idx" ON "UserNote"("userId", "createdAt"); -- CreateIndex CREATE INDEX "UserNote_createdById_idx" ON "UserNote"("createdById"); -- CreateIndex CREATE INDEX "AuditEvent_userId_createdAt_idx" ON "AuditEvent"("userId", "createdAt"); -- CreateIndex CREATE INDEX "AuditEvent_action_createdAt_idx" ON "AuditEvent"("action", "createdAt"); -- AddForeignKey ALTER TABLE "UserNote" ADD CONSTRAINT "UserNote_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "UserNote" ADD CONSTRAINT "UserNote_createdById_fkey" FOREIGN KEY ("createdById") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "AuditEvent" ADD CONSTRAINT "AuditEvent_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;