changes
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "AiSuggestionStatus" AS ENUM ('GENERATED', 'ACCEPTED', 'DISMISSED', 'EXPIRED');
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "AiSuggestion" (
|
||||
"id" TEXT NOT NULL,
|
||||
"userId" TEXT NOT NULL,
|
||||
"moduleKey" TEXT NOT NULL,
|
||||
"featureKey" TEXT NOT NULL,
|
||||
"subjectType" TEXT NOT NULL,
|
||||
"subjectId" TEXT NOT NULL,
|
||||
"inputHash" TEXT NOT NULL,
|
||||
"requestJson" JSONB NOT NULL,
|
||||
"responseJson" JSONB NOT NULL,
|
||||
"confidence" DOUBLE PRECISION,
|
||||
"engine" TEXT NOT NULL,
|
||||
"model" TEXT,
|
||||
"usageJson" JSONB,
|
||||
"warningsJson" JSONB,
|
||||
"promptVersion" TEXT NOT NULL,
|
||||
"status" "AiSuggestionStatus" NOT NULL DEFAULT 'GENERATED',
|
||||
"actedAt" TIMESTAMP(3),
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "AiSuggestion_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "ai_suggestion_dedupe" ON "AiSuggestion"("userId", "moduleKey", "featureKey", "subjectType", "subjectId", "inputHash");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "AiSuggestion_userId_moduleKey_featureKey_createdAt_idx" ON "AiSuggestion"("userId", "moduleKey", "featureKey", "createdAt");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "AiSuggestion_status_updatedAt_idx" ON "AiSuggestion"("status", "updatedAt");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "AiSuggestion_inputHash_idx" ON "AiSuggestion"("inputHash");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "AiSuggestion" ADD CONSTRAINT "AiSuggestion_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
Reference in New Issue
Block a user