ai-chatbot/lib/db/migrations/0054_add_agent_preset_slots.sql
Your Name 4b820f8ff4
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
Add canvas agent mode and management
2026-03-10 19:56:25 +08:00

53 lines
2.0 KiB
SQL

ALTER TABLE "AgentPreset"
ADD COLUMN IF NOT EXISTS "slotCount" integer DEFAULT 1 NOT NULL;
--> statement-breakpoint
ALTER TABLE "AgentPreset"
ADD COLUMN IF NOT EXISTS "requiredUploadCount" integer DEFAULT 1 NOT NULL;
--> statement-breakpoint
CREATE TABLE IF NOT EXISTS "AgentPresetSlot" (
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
"presetId" uuid NOT NULL,
"slotIndex" integer NOT NULL,
"title" varchar(128),
"promptTemplate" text DEFAULT '' NOT NULL,
"defaultParams" jsonb,
"requireUpload" boolean DEFAULT true NOT NULL,
"uploadLabel" varchar(128),
"createdAt" timestamp DEFAULT now() NOT NULL,
"updatedAt" timestamp DEFAULT now() NOT NULL
);
--> statement-breakpoint
DO $$ BEGIN
ALTER TABLE "AgentPresetSlot" ADD CONSTRAINT "AgentPresetSlot_presetId_AgentPreset_id_fk" FOREIGN KEY ("presetId") REFERENCES "public"."AgentPreset"("id") ON DELETE cascade ON UPDATE no action;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;
--> statement-breakpoint
ALTER TABLE "AgentPresetReferenceAsset"
ADD COLUMN IF NOT EXISTS "slotId" uuid;
--> statement-breakpoint
DO $$ BEGIN
ALTER TABLE "AgentPresetReferenceAsset" ADD CONSTRAINT "AgentPresetReferenceAsset_slotId_AgentPresetSlot_id_fk" FOREIGN KEY ("slotId") REFERENCES "public"."AgentPresetSlot"("id") ON DELETE cascade ON UPDATE no action;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;
--> statement-breakpoint
ALTER TABLE "AgentPresetExecutionSnapshot"
ADD COLUMN IF NOT EXISTS "slotCount" integer DEFAULT 1 NOT NULL;
--> statement-breakpoint
ALTER TABLE "AgentPresetExecutionSnapshot"
ADD COLUMN IF NOT EXISTS "requiredUploadCount" integer DEFAULT 1 NOT NULL;
--> statement-breakpoint
ALTER TABLE "AgentPresetExecutionSnapshot"
ADD COLUMN IF NOT EXISTS "slots" jsonb DEFAULT '[]'::jsonb NOT NULL;
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS "AgentPresetSlot_preset_slot_idx"
ON "AgentPresetSlot"("presetId", "slotIndex");
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS "AgentPresetReferenceAsset_slot_sort_idx"
ON "AgentPresetReferenceAsset"("slotId", "sortOrder");