Dish_Recognition/docs/mysql_add_recognition_recor...

37 lines
1.9 KiB
SQL

-- 总库补表:识别流水 + 可选配置表
-- 在 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='应用键值配置';