-- R5 (ADR-004) : pgvector — même patron que PostGIS en r1_referentiel CREATE EXTENSION IF NOT EXISTS vector; -- CreateEnum CREATE TYPE "RagSourceType" AS ENUM ('DOCUMENT', 'WORK_ORDER'); -- AlterTable ALTER TABLE "Document" ADD COLUMN "chunkCount" INTEGER NOT NULL DEFAULT 0, ADD COLUMN "inCorpus" BOOLEAN NOT NULL DEFAULT true, ADD COLUMN "indexedAt" TIMESTAMP(3); -- CreateTable CREATE TABLE "RagChunk" ( "id" UUID NOT NULL, "sourceType" "RagSourceType" NOT NULL, "documentId" UUID, "workOrderId" UUID, "locator" TEXT NOT NULL, "content" TEXT NOT NULL, "embedding" vector(384) NOT NULL, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "RagChunk_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE INDEX "RagChunk_documentId_idx" ON "RagChunk"("documentId"); -- CreateIndex CREATE INDEX "RagChunk_workOrderId_idx" ON "RagChunk"("workOrderId"); -- AddForeignKey ALTER TABLE "RagChunk" ADD CONSTRAINT "RagChunk_documentId_fkey" FOREIGN KEY ("documentId") REFERENCES "Document"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "RagChunk" ADD CONSTRAINT "RagChunk_workOrderId_fkey" FOREIGN KEY ("workOrderId") REFERENCES "WorkOrder"("id") ON DELETE CASCADE ON UPDATE CASCADE;