zhou zhou
7 小时以前 3d81df739dc45599c257d8cdefe0996f66ccdeae
version/db/ai_feature.sql
@@ -56,6 +56,10 @@
  `env_json` text COMMENT '环境变量 JSON',
  `headers_json` text COMMENT '请求头 JSON',
  `request_timeout_ms` int(11) DEFAULT NULL COMMENT '请求超时时间',
  `health_status` varchar(32) DEFAULT 'NOT_TESTED' COMMENT '健康状态',
  `last_test_time` datetime DEFAULT NULL COMMENT '最近测试时间',
  `last_test_message` varchar(500) DEFAULT NULL COMMENT '最近测试信息',
  `last_init_elapsed_ms` bigint(20) DEFAULT NULL COMMENT '最近初始化耗时',
  `sort` int(11) DEFAULT '0' COMMENT '排序',
  `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户',
  `status` int(11) DEFAULT '1' COMMENT '状态',
@@ -121,6 +125,74 @@
EXECUTE builtin_code_stmt;
DEALLOCATE PREPARE builtin_code_stmt;
SET @mcp_health_status_exists := (
  SELECT COUNT(1)
  FROM `information_schema`.`COLUMNS`
  WHERE `TABLE_SCHEMA` = DATABASE()
    AND `TABLE_NAME` = 'sys_ai_mcp_mount'
    AND `COLUMN_NAME` = 'health_status'
);
SET @mcp_health_status_sql := IF(
  @mcp_health_status_exists = 0,
  'ALTER TABLE `sys_ai_mcp_mount` ADD COLUMN `health_status` varchar(32) DEFAULT ''NOT_TESTED'' COMMENT ''健康状态'' AFTER `request_timeout_ms`',
  'SELECT 1'
);
PREPARE mcp_health_status_stmt FROM @mcp_health_status_sql;
EXECUTE mcp_health_status_stmt;
DEALLOCATE PREPARE mcp_health_status_stmt;
SET @mcp_last_test_time_exists := (
  SELECT COUNT(1)
  FROM `information_schema`.`COLUMNS`
  WHERE `TABLE_SCHEMA` = DATABASE()
    AND `TABLE_NAME` = 'sys_ai_mcp_mount'
    AND `COLUMN_NAME` = 'last_test_time'
);
SET @mcp_last_test_time_sql := IF(
  @mcp_last_test_time_exists = 0,
  'ALTER TABLE `sys_ai_mcp_mount` ADD COLUMN `last_test_time` datetime DEFAULT NULL COMMENT ''最近测试时间'' AFTER `health_status`',
  'SELECT 1'
);
PREPARE mcp_last_test_time_stmt FROM @mcp_last_test_time_sql;
EXECUTE mcp_last_test_time_stmt;
DEALLOCATE PREPARE mcp_last_test_time_stmt;
SET @mcp_last_test_message_exists := (
  SELECT COUNT(1)
  FROM `information_schema`.`COLUMNS`
  WHERE `TABLE_SCHEMA` = DATABASE()
    AND `TABLE_NAME` = 'sys_ai_mcp_mount'
    AND `COLUMN_NAME` = 'last_test_message'
);
SET @mcp_last_test_message_sql := IF(
  @mcp_last_test_message_exists = 0,
  'ALTER TABLE `sys_ai_mcp_mount` ADD COLUMN `last_test_message` varchar(500) DEFAULT NULL COMMENT ''最近测试信息'' AFTER `last_test_time`',
  'SELECT 1'
);
PREPARE mcp_last_test_message_stmt FROM @mcp_last_test_message_sql;
EXECUTE mcp_last_test_message_stmt;
DEALLOCATE PREPARE mcp_last_test_message_stmt;
SET @mcp_last_init_elapsed_exists := (
  SELECT COUNT(1)
  FROM `information_schema`.`COLUMNS`
  WHERE `TABLE_SCHEMA` = DATABASE()
    AND `TABLE_NAME` = 'sys_ai_mcp_mount'
    AND `COLUMN_NAME` = 'last_init_elapsed_ms'
);
SET @mcp_last_init_elapsed_sql := IF(
  @mcp_last_init_elapsed_exists = 0,
  'ALTER TABLE `sys_ai_mcp_mount` ADD COLUMN `last_init_elapsed_ms` bigint(20) DEFAULT NULL COMMENT ''最近初始化耗时'' AFTER `last_test_message`',
  'SELECT 1'
);
PREPARE mcp_last_init_elapsed_stmt FROM @mcp_last_init_elapsed_sql;
EXECUTE mcp_last_init_elapsed_stmt;
DEALLOCATE PREPARE mcp_last_init_elapsed_stmt;
UPDATE `sys_ai_mcp_mount`
SET `health_status` = 'NOT_TESTED'
WHERE `health_status` IS NULL OR `health_status` = '';
SET @chat_session_pinned_exists := (
  SELECT COUNT(1)
  FROM `information_schema`.`COLUMNS`