-- 总库补表:识别流水 + 可选配置表 -- 在 Navicat 中选中你的业务库后执行本脚本 -- 1) 识别记录(每次扫菜/选图识别写一条) CREATE TABLE IF NOT EXISTS `recognition_records` ( `id` INT NOT NULL AUTO_INCREMENT COMMENT '主键ID', `request_id` VARCHAR(64) NOT NULL COMMENT '识别请求号(与上报 API 一致)', `base_code` VARCHAR(50) DEFAULT NULL COMMENT '基地编码', `source_base_id` INT DEFAULT NULL COMMENT '基地表 ID', `capture_time` DATETIME NOT NULL COMMENT '抓拍/识别时间', `source_image` VARCHAR(512) DEFAULT NULL COMMENT '原图路径或 URL', `labeled_image` VARCHAR(512) DEFAULT NULL COMMENT '标注图路径或 URL', `dish_count` INT NOT NULL DEFAULT 0 COMMENT '菜品区域数', `unknown_count` INT NOT NULL DEFAULT 0 COMMENT '未知菜数量', `summary` VARCHAR(512) DEFAULT NULL COMMENT '结果摘要(菜名列表)', `result_json` TEXT NOT NULL COMMENT '完整 dishes JSON', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '入库时间', PRIMARY KEY (`id`), KEY `idx_recog_request` (`request_id`), KEY `idx_recog_capture` (`capture_time`), KEY `idx_recog_base_code` (`base_code`), KEY `idx_recog_base_id` (`source_base_id`), CONSTRAINT `fk_recog_base` FOREIGN KEY (`source_base_id`) REFERENCES `bases` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='识别流水表'; -- 建议:同一 request_id 幂等(若库中已有重复脏数据,先清理再建唯一索引) -- ALTER TABLE `recognition_records` ADD UNIQUE KEY `uk_recog_request` (`request_id`); -- 2) 可选:总库配置(阈值等) CREATE TABLE IF NOT EXISTS `app_settings` ( `key` VARCHAR(50) NOT NULL COMMENT '配置键', `value` TEXT NOT NULL COMMENT '配置值', PRIMARY KEY (`key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='应用键值配置';