Files
siop2/apps/api/prisma/migrations/20260717111229_r5_ia/migration.sql
pr-daaif d4d73a6f76 fix(ci): PostgreSQL de CI = l'image infra (pgvector + PostGIS)
La migration r5_ia exige pgvector, absent de postgis/postgis — la
bascule annoncée en R1 (« pgvector arrivera en R5 ») est faite : les
jobs api et e2e construisent infra/postgres et le démarrent par étape
(les services GitHub ne savent pas builder). La migration crée aussi
l'extension elle-même (idempotent, même patron que PostGIS en r1).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 12:27:03 +01:00

37 lines
1.2 KiB
SQL

-- 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;