feat(ssa): Complete T-test end-to-end testing with 9 bug fixes - Phase 1 core 85% complete. R service: missing value auto-filter. Backend: error handling, variable matching, dynamic filename. Frontend: module activation, session isolation, error propagation. Full flow verified.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,8 +1,77 @@
|
||||
-- Add knowledge_config field to prompt_templates
|
||||
ALTER TABLE "capability_schema"."prompt_templates" ADD COLUMN "knowledge_config" JSONB;
|
||||
-- =============================================
|
||||
-- FIX: Create prompt_templates and prompt_versions tables if they don't exist
|
||||
-- Background: These tables were originally created via `prisma db push`
|
||||
-- (bypassing migrations), causing shadow database validation failures.
|
||||
-- This fix ensures migrations can replay cleanly from scratch.
|
||||
-- =============================================
|
||||
|
||||
-- Create PromptStatus enum if not exists
|
||||
DO $$ BEGIN
|
||||
CREATE TYPE "capability_schema"."PromptStatus" AS ENUM ('DRAFT', 'ACTIVE', 'ARCHIVED');
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
|
||||
-- CreateTable: prompt_templates (if not exists)
|
||||
CREATE TABLE IF NOT EXISTS "capability_schema"."prompt_templates" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"code" TEXT NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"module" TEXT NOT NULL,
|
||||
"description" TEXT,
|
||||
"variables" JSONB,
|
||||
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updated_at" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "prompt_templates_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex (if not exists)
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "prompt_templates_code_key" ON "capability_schema"."prompt_templates"("code");
|
||||
CREATE INDEX IF NOT EXISTS "idx_prompt_templates_module" ON "capability_schema"."prompt_templates"("module");
|
||||
|
||||
-- CreateTable: prompt_versions (if not exists)
|
||||
CREATE TABLE IF NOT EXISTS "capability_schema"."prompt_versions" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"template_id" INTEGER NOT NULL,
|
||||
"version" INTEGER NOT NULL,
|
||||
"content" TEXT NOT NULL,
|
||||
"model_config" JSONB,
|
||||
"status" "capability_schema"."PromptStatus" NOT NULL DEFAULT 'DRAFT',
|
||||
"changelog" TEXT,
|
||||
"created_by" TEXT,
|
||||
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "prompt_versions_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex (if not exists)
|
||||
CREATE INDEX IF NOT EXISTS "idx_prompt_versions_template_status" ON "capability_schema"."prompt_versions"("template_id", "status");
|
||||
CREATE INDEX IF NOT EXISTS "idx_prompt_versions_status" ON "capability_schema"."prompt_versions"("status");
|
||||
|
||||
-- AddForeignKey (if not exists)
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "capability_schema"."prompt_versions"
|
||||
ADD CONSTRAINT "prompt_versions_template_id_fkey"
|
||||
FOREIGN KEY ("template_id") REFERENCES "capability_schema"."prompt_templates"("id")
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
|
||||
-- =============================================
|
||||
-- Original migration content starts here
|
||||
-- =============================================
|
||||
|
||||
-- Add knowledge_config field to prompt_templates (if not exists)
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "capability_schema"."prompt_templates" ADD COLUMN "knowledge_config" JSONB;
|
||||
EXCEPTION
|
||||
WHEN duplicate_column THEN null;
|
||||
END $$;
|
||||
|
||||
-- CreateTable: system_knowledge_bases
|
||||
CREATE TABLE "capability_schema"."system_knowledge_bases" (
|
||||
CREATE TABLE IF NOT EXISTS "capability_schema"."system_knowledge_bases" (
|
||||
"id" TEXT NOT NULL,
|
||||
"code" VARCHAR(50) NOT NULL,
|
||||
"name" VARCHAR(100) NOT NULL,
|
||||
@@ -18,7 +87,7 @@ CREATE TABLE "capability_schema"."system_knowledge_bases" (
|
||||
);
|
||||
|
||||
-- CreateTable: system_kb_documents
|
||||
CREATE TABLE "capability_schema"."system_kb_documents" (
|
||||
CREATE TABLE IF NOT EXISTS "capability_schema"."system_kb_documents" (
|
||||
"id" TEXT NOT NULL,
|
||||
"kb_id" TEXT NOT NULL,
|
||||
"filename" VARCHAR(255) NOT NULL,
|
||||
@@ -35,20 +104,19 @@ CREATE TABLE "capability_schema"."system_kb_documents" (
|
||||
CONSTRAINT "system_kb_documents_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "system_knowledge_bases_code_key" ON "capability_schema"."system_knowledge_bases"("code");
|
||||
-- CreateIndex (if not exists)
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "system_knowledge_bases_code_key" ON "capability_schema"."system_knowledge_bases"("code");
|
||||
CREATE INDEX IF NOT EXISTS "idx_system_kb_category" ON "capability_schema"."system_knowledge_bases"("category");
|
||||
CREATE INDEX IF NOT EXISTS "idx_system_kb_status" ON "capability_schema"."system_knowledge_bases"("status");
|
||||
CREATE INDEX IF NOT EXISTS "idx_system_kb_docs_kb_id" ON "capability_schema"."system_kb_documents"("kb_id");
|
||||
CREATE INDEX IF NOT EXISTS "idx_system_kb_docs_status" ON "capability_schema"."system_kb_documents"("status");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "idx_system_kb_category" ON "capability_schema"."system_knowledge_bases"("category");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "idx_system_kb_status" ON "capability_schema"."system_knowledge_bases"("status");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "idx_system_kb_docs_kb_id" ON "capability_schema"."system_kb_documents"("kb_id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "idx_system_kb_docs_status" ON "capability_schema"."system_kb_documents"("status");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "capability_schema"."system_kb_documents" ADD CONSTRAINT "system_kb_documents_kb_id_fkey" FOREIGN KEY ("kb_id") REFERENCES "capability_schema"."system_knowledge_bases"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
-- AddForeignKey (if not exists)
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "capability_schema"."system_kb_documents"
|
||||
ADD CONSTRAINT "system_kb_documents_kb_id_fkey"
|
||||
FOREIGN KEY ("kb_id") REFERENCES "capability_schema"."system_knowledge_bases"("id")
|
||||
ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
|
||||
Reference in New Issue
Block a user