Files
prompts-core/update.sql
T
WangLiZhao 5de859582c docs(readme): 更新项目文档为智能模型网关
chore(database): 优化模型配置表结构和索引设计

- 重新设计 model_gateway_models 表的字段结构和约束
- 新增 billing_config 和 special_params 配置字段
- 优化索引策略,包括复合索引和条件索引的创建
- 统一表注释格式和字段说明文档
- 移除过时的配置字段和冗余索引
2026-07-07 09:47:31 +08:00

117 lines
8.8 KiB
SQL

-- ============================================
-- 提示词服务 (prompts-core) 建表语句
-- ============================================
-- 1. 提示词历史会话表
CREATE TABLE "public"."prompts_compose_session" (
"id" int8 NOT NULL,
"tenant_id" int8 NOT NULL DEFAULT 0,
"creator" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
"created_at" timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updater" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
"updated_at" timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"deleted_at" timestamp(6),
"session_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
"request_content" jsonb NOT NULL DEFAULT '{}'::jsonb,
"response_content" jsonb NOT NULL DEFAULT '{}'::jsonb,
"remark" varchar(500) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying,
"node_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying,
CONSTRAINT "prompts_compose_session_pkey" PRIMARY KEY ("id")
);
ALTER TABLE "public"."prompts_compose_session" OWNER TO "postgres";
CREATE INDEX "idx_compose_session_creator_session_created" ON "public"."prompts_compose_session" USING btree (
"creator", "session_id", "created_at" DESC
);
CREATE INDEX "idx_compose_session_session_id" ON "public"."prompts_compose_session" USING btree ("session_id");
CREATE INDEX "idx_prompts_compose_session_deleted_at" ON "public"."prompts_compose_session" USING btree ("deleted_at");
COMMENT ON TABLE "public"."prompts_compose_session" IS '提示词历史会话表';
COMMENT ON COLUMN "public"."prompts_compose_session"."session_id" IS '会话ID';
COMMENT ON COLUMN "public"."prompts_compose_session"."node_id" IS '节点ID';
COMMENT ON COLUMN "public"."prompts_compose_session"."request_content" IS '请求内容(JSON格式)';
COMMENT ON COLUMN "public"."prompts_compose_session"."response_content" IS '返回内容(JSON格式)';
COMMENT ON COLUMN "public"."prompts_compose_session"."remark" IS '备注';
-- 2. 模型协议配置表
CREATE TABLE "public"."prompts_provider_protocol" (
"id" int8 NOT NULL,
"tenant_id" int8 NOT NULL DEFAULT 0,
"creator" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
"created_at" timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updater" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
"updated_at" timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"deleted_at" timestamp(6),
"provider_name" varchar(64) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying,
"request_template" jsonb NOT NULL DEFAULT '{}'::jsonb,
"system_prompt_template" text COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::text,
"status" int4 NOT NULL DEFAULT 1,
CONSTRAINT "prompts_provider_protocol_pkey" PRIMARY KEY ("id")
);
ALTER TABLE "public"."prompts_provider_protocol" OWNER TO "postgres";
CREATE INDEX "idx_provider_protocol_provider_status" ON "public"."prompts_provider_protocol" USING btree (
"provider_name", "status"
);
COMMENT ON TABLE "public"."prompts_provider_protocol" IS '模型协议映射配置表';
COMMENT ON COLUMN "public"."prompts_provider_protocol"."provider_name" IS '运营商名称';
COMMENT ON COLUMN "public"."prompts_provider_protocol"."request_template" IS '请求模板(含 {_system_} / {_user_} 占位符)';
COMMENT ON COLUMN "public"."prompts_provider_protocol"."system_prompt_template" IS '系统提示词模板(含 %s 输出结构占位符)';
COMMENT ON COLUMN "public"."prompts_provider_protocol"."status" IS '状态:1启用/0禁用';
-- 3. 提示词任务记录表
CREATE TABLE "public"."prompts_compose_task" (
"id" int8 NOT NULL,
"tenant_id" int8 NOT NULL DEFAULT 0,
"creator" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
"created_at" timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updater" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
"updated_at" timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"deleted_at" timestamp(6),
"task_id" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
"model_name" varchar(128) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying,
"skill_name" varchar(128) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying,
"build_type" int4 NOT NULL DEFAULT 0,
"callback_url" varchar(512) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying,
"gateway_state" int4 NOT NULL DEFAULT 0,
"request_payload" jsonb NOT NULL DEFAULT '{}'::jsonb,
"result_json" jsonb NOT NULL DEFAULT '{}'::jsonb,
"status" varchar(32) COLLATE "pg_catalog"."default" NOT NULL DEFAULT 'pending'::character varying,
"error_message" text COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::text,
"oss_file" varchar(1024) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying,
"file_type" varchar(64) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying,
CONSTRAINT "prompts_compose_task_pkey" PRIMARY KEY ("id")
);
ALTER TABLE "public"."prompts_compose_task" OWNER TO "postgres";
CREATE INDEX "idx_prompts_compose_task_creator_created" ON "public"."prompts_compose_task" USING btree (
"creator", "created_at" DESC
);
CREATE INDEX "idx_prompts_compose_task_deleted_at" ON "public"."prompts_compose_task" USING btree ("deleted_at");
CREATE INDEX "idx_prompts_compose_task_status" ON "public"."prompts_compose_task" USING btree ("status") WHERE deleted_at IS NULL;
CREATE UNIQUE INDEX "uk_prompts_compose_task_task_id" ON "public"."prompts_compose_task" USING btree ("task_id");
COMMENT ON TABLE "public"."prompts_compose_task" IS '提示词任务记录表';
COMMENT ON COLUMN "public"."prompts_compose_task"."task_id" IS 'model-gateway 任务ID';
COMMENT ON COLUMN "public"."prompts_compose_task"."model_name" IS '业务模型名称';
COMMENT ON COLUMN "public"."prompts_compose_task"."skill_name" IS '技能名称';
COMMENT ON COLUMN "public"."prompts_compose_task"."build_type" IS '构建类型:0默认/1提示词构建/2节点构建';
COMMENT ON COLUMN "public"."prompts_compose_task"."callback_url" IS '回调地址';
COMMENT ON COLUMN "public"."prompts_compose_task"."gateway_state" IS 'model-gateway 状态:0排队/1执行/2成功/3失败/4已下载';
COMMENT ON COLUMN "public"."prompts_compose_task"."request_payload" IS '发给 model-gateway 的请求内容';
COMMENT ON COLUMN "public"."prompts_compose_task"."result_json" IS '回调返回结果json';
COMMENT ON COLUMN "public"."prompts_compose_task"."status" IS '业务状态:pending/success/failed';
COMMENT ON COLUMN "public"."prompts_compose_task"."error_message" IS '业务错误信息';
COMMENT ON COLUMN "public"."prompts_compose_task"."oss_file" IS '网关返回的结果文件地址';
COMMENT ON COLUMN "public"."prompts_compose_task"."file_type" IS '结果文件类型';