53 lines
1.7 KiB
SQL
53 lines
1.7 KiB
SQL
-- 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;
|