Files
spotlightcam/backend/prisma/migrations/20251206130000_create_activity_logs/migration.sql
Radosław Gierwiało dfc86c807d fix(tests): add activity_logs table and fix matches test
- Create migration for activity_logs table (full schema with indexes)
- Fix matches.test.js to use dynamic username for outsider user
- Prevents unique constraint violations when tests run multiple times

Progress: 7 failed, 349 passed, 9 skipped (down from 8 failures)
2025-12-06 14:29:47 +01:00

37 lines
1.2 KiB
SQL

-- CreateTable
CREATE TABLE "activity_logs" (
"id" SERIAL NOT NULL,
"user_id" INTEGER,
"username" VARCHAR(50),
"ip_address" VARCHAR(45),
"action" VARCHAR(50) NOT NULL,
"category" VARCHAR(20) NOT NULL,
"resource" VARCHAR(100),
"method" VARCHAR(10),
"path" VARCHAR(255),
"metadata" JSONB,
"success" BOOLEAN NOT NULL DEFAULT true,
"error_message" TEXT,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "activity_logs_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE INDEX "activity_logs_user_id_created_at_idx" ON "activity_logs"("user_id", "created_at");
-- CreateIndex
CREATE INDEX "activity_logs_action_created_at_idx" ON "activity_logs"("action", "created_at");
-- CreateIndex
CREATE INDEX "activity_logs_category_created_at_idx" ON "activity_logs"("category", "created_at");
-- CreateIndex
CREATE INDEX "activity_logs_created_at_idx" ON "activity_logs"("created_at" DESC);
-- CreateIndex
CREATE INDEX "activity_logs_username_created_at_idx" ON "activity_logs"("username", "created_at");
-- AddForeignKey
ALTER TABLE "activity_logs" ADD CONSTRAINT "activity_logs_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE;