mirror of
https://github.com/siop-spelev/siop2.git
synced 2026-08-08 12:41:54 +00:00
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>
37 lines
1.2 KiB
SQL
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;
|