2026-06-18-operation-log.sql 2.8 KB

1234567891011121314151617181920212223242526272829
  1. -- 全量操作日志表(操作审计)。库:log。与 system_log 并列,共享 trace_id 可 join。见 需求文档/14 §5。
  2. -- 幂等:DROP IF EXISTS + CREATE。
  3. DROP TABLE IF EXISTS `operation_log`;
  4. CREATE TABLE `operation_log` (
  5. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id',
  6. `trace_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '全链路串联ID',
  7. `parent_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '父子调用层级ID',
  8. `op_time` datetime(3) NULL DEFAULT NULL COMMENT '操作时间(毫秒)',
  9. `project` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '端/服务:operate/front/tl-control...',
  10. `module` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '功能模块(可读):对焦/串口/患者...',
  11. `operation` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '操作(可读):一键标定/打开端口...',
  12. `operator` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '谁:登录用户/工程师/系统/设备SN',
  13. `input` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '输入(JSON;大对象只存文件名/关键字段)',
  14. `output` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '输出(JSON;同上)',
  15. `result` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '结果:成功/失败',
  16. `error` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '报错:消息+堆栈摘要',
  17. `elapsed_ms` bigint NULL DEFAULT NULL COMMENT '耗时(ms)',
  18. `level` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '级别(操作级默认)',
  19. `house_sn` int NULL DEFAULT NULL COMMENT '仓室号(便于按舱过滤)',
  20. `well_sn` int NULL DEFAULT NULL COMMENT 'well号',
  21. `tl_sn` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备SN',
  22. `host` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '来源主机/IP',
  23. `create_time` datetime(3) NULL DEFAULT NULL COMMENT '入库时间',
  24. PRIMARY KEY (`id`) USING BTREE,
  25. INDEX `idx_trace`(`trace_id`) USING BTREE COMMENT '按trace_id拉链路/join system_log',
  26. INDEX `idx_query`(`project`, `module`, `op_time`) USING BTREE COMMENT '按项目>模块>时间查询',
  27. INDEX `idx_device`(`tl_sn`, `house_sn`, `op_time`) USING BTREE COMMENT '按设备/舱查询',
  28. INDEX `idx_optime`(`op_time`) USING BTREE COMMENT '保留期清理用'
  29. ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '全量操作日志(操作审计);与system_log经trace_id关联' ROW_FORMAT = Dynamic;