-- Nachtrag zu Phase 7: „Zuletzt geöffnet" als eigene Spur. -- -- Eine persönliche Sprungliste, kein Verlauf: je Nutzer und Datensatz genau -- eine Zeile, die beim nächsten Öffnen überschrieben wird. Der Primärschlüssel -- erzwingt das - es gibt keine Form, in der diese Tabelle sagen könnte, wie oft -- oder in welcher Reihenfolge jemand etwas geöffnet hat. -- -- Wer wann was gelesen hat, beantwortet weiterhin allein das Zugriffsprotokoll -- ab Stufe 3. Siehe docs/13-entscheidungen.md. CREATE TYPE "RecentTarget" AS ENUM ('CASE', 'PERSONNEL', 'DOCUMENT'); CREATE TABLE "RecentView" ( "userId" TEXT NOT NULL, "targetType" "RecentTarget" NOT NULL, "targetId" TEXT NOT NULL, "openedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "RecentView_pkey" PRIMARY KEY ("userId", "targetType", "targetId") ); ALTER TABLE "RecentView" ADD CONSTRAINT "RecentView_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; CREATE INDEX "RecentView_userId_openedAt_idx" ON "RecentView"("userId", "openedAt" DESC);