zhou zhou
10 小时以前 05148eeef860d33232874a640dbd67ba43ac5686
version/db/ai_feature.sql
@@ -13,6 +13,10 @@
  `max_tokens` int(11) DEFAULT NULL COMMENT '最大Token',
  `timeout_ms` int(11) DEFAULT NULL COMMENT '超时时间',
  `streaming_enabled` tinyint(1) DEFAULT '1' COMMENT '是否启用流式响应',
  `validate_status` varchar(32) DEFAULT 'NOT_TESTED' COMMENT '最近校验状态',
  `last_validate_message` varchar(500) DEFAULT NULL COMMENT '最近校验信息',
  `last_validate_elapsed_ms` bigint(20) DEFAULT NULL COMMENT '最近校验耗时',
  `last_validate_time` datetime DEFAULT NULL COMMENT '最近校验时间',
  `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户',
  `status` int(11) DEFAULT '1' COMMENT '状态',
  `deleted` int(11) DEFAULT '0' COMMENT '删除标记',
@@ -109,6 +113,74 @@
  KEY `idx_sys_ai_chat_message_session_seq` (`session_id`,`seq_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI 对话消息';
SET @ai_param_validate_status_exists := (
  SELECT COUNT(1)
  FROM `information_schema`.`COLUMNS`
  WHERE `TABLE_SCHEMA` = DATABASE()
    AND `TABLE_NAME` = 'sys_ai_param'
    AND `COLUMN_NAME` = 'validate_status'
);
SET @ai_param_validate_status_sql := IF(
  @ai_param_validate_status_exists = 0,
  'ALTER TABLE `sys_ai_param` ADD COLUMN `validate_status` varchar(32) DEFAULT ''NOT_TESTED'' COMMENT ''最近校验状态'' AFTER `streaming_enabled`',
  'SELECT 1'
);
PREPARE ai_param_validate_status_stmt FROM @ai_param_validate_status_sql;
EXECUTE ai_param_validate_status_stmt;
DEALLOCATE PREPARE ai_param_validate_status_stmt;
SET @ai_param_last_validate_message_exists := (
  SELECT COUNT(1)
  FROM `information_schema`.`COLUMNS`
  WHERE `TABLE_SCHEMA` = DATABASE()
    AND `TABLE_NAME` = 'sys_ai_param'
    AND `COLUMN_NAME` = 'last_validate_message'
);
SET @ai_param_last_validate_message_sql := IF(
  @ai_param_last_validate_message_exists = 0,
  'ALTER TABLE `sys_ai_param` ADD COLUMN `last_validate_message` varchar(500) DEFAULT NULL COMMENT ''最近校验信息'' AFTER `validate_status`',
  'SELECT 1'
);
PREPARE ai_param_last_validate_message_stmt FROM @ai_param_last_validate_message_sql;
EXECUTE ai_param_last_validate_message_stmt;
DEALLOCATE PREPARE ai_param_last_validate_message_stmt;
SET @ai_param_last_validate_elapsed_exists := (
  SELECT COUNT(1)
  FROM `information_schema`.`COLUMNS`
  WHERE `TABLE_SCHEMA` = DATABASE()
    AND `TABLE_NAME` = 'sys_ai_param'
    AND `COLUMN_NAME` = 'last_validate_elapsed_ms'
);
SET @ai_param_last_validate_elapsed_sql := IF(
  @ai_param_last_validate_elapsed_exists = 0,
  'ALTER TABLE `sys_ai_param` ADD COLUMN `last_validate_elapsed_ms` bigint(20) DEFAULT NULL COMMENT ''最近校验耗时'' AFTER `last_validate_message`',
  'SELECT 1'
);
PREPARE ai_param_last_validate_elapsed_stmt FROM @ai_param_last_validate_elapsed_sql;
EXECUTE ai_param_last_validate_elapsed_stmt;
DEALLOCATE PREPARE ai_param_last_validate_elapsed_stmt;
SET @ai_param_last_validate_time_exists := (
  SELECT COUNT(1)
  FROM `information_schema`.`COLUMNS`
  WHERE `TABLE_SCHEMA` = DATABASE()
    AND `TABLE_NAME` = 'sys_ai_param'
    AND `COLUMN_NAME` = 'last_validate_time'
);
SET @ai_param_last_validate_time_sql := IF(
  @ai_param_last_validate_time_exists = 0,
  'ALTER TABLE `sys_ai_param` ADD COLUMN `last_validate_time` datetime DEFAULT NULL COMMENT ''最近校验时间'' AFTER `last_validate_elapsed_ms`',
  'SELECT 1'
);
PREPARE ai_param_last_validate_time_stmt FROM @ai_param_last_validate_time_sql;
EXECUTE ai_param_last_validate_time_stmt;
DEALLOCATE PREPARE ai_param_last_validate_time_stmt;
UPDATE `sys_ai_param`
SET `validate_status` = 'NOT_TESTED'
WHERE `validate_status` IS NULL OR `validate_status` = '';
SET @builtin_code_exists := (
  SELECT COUNT(1)
  FROM `information_schema`.`COLUMNS`