| | |
| | | `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 '状态', |
| | |
| | | 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` |