-- ---------------------------- -- 爱玛电动车测试模块数据库表设计 -- ---------------------------- -- ---------------------------- -- 1、手机管理表 -- ---------------------------- DROP TABLE IF EXISTS `aima_phone`; CREATE TABLE `aima_phone` ( `id` varchar(64) NOT NULL COMMENT '主键ID', `phone_name` varchar(100) DEFAULT NULL COMMENT '手机名称', `phone_model` varchar(100) DEFAULT NULL COMMENT '手机型号', `os_system` varchar(50) DEFAULT NULL COMMENT '操作系统(Android/iOS)', `os_version` varchar(50) DEFAULT NULL COMMENT '系统版本', `specifications` varchar(500) DEFAULT NULL COMMENT '规格参数', `manufacturer` varchar(100) DEFAULT NULL COMMENT '厂商', `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', `remark` varchar(500) DEFAULT NULL COMMENT '备注', `create_by` varchar(64) DEFAULT '' COMMENT '创建者', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新者', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛手机管理表'; -- ---------------------------- -- 2、车辆管理表 -- ---------------------------- DROP TABLE IF EXISTS `aima_vehicle`; CREATE TABLE `aima_vehicle` ( `id` varchar(64) NOT NULL COMMENT '主键ID', `vin` varchar(50) DEFAULT NULL COMMENT '车架号(VIN)', `vehicle_model` varchar(100) DEFAULT NULL COMMENT '车型', `vehicle_name` varchar(100) DEFAULT NULL COMMENT '车辆名称', `color` varchar(50) DEFAULT NULL COMMENT '颜色', `production_date` date DEFAULT NULL COMMENT '生产日期', `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', `remark` varchar(500) DEFAULT NULL COMMENT '备注', `create_by` varchar(64) DEFAULT '' COMMENT '创建者', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新者', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_vin` (`vin`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛车辆管理表'; -- ---------------------------- -- 3、测试用例管理表(对标巡检点位) -- ---------------------------- DROP TABLE IF EXISTS `aima_test_case`; CREATE TABLE `aima_test_case` ( `id` varchar(64) NOT NULL COMMENT '主键ID', `case_code` varchar(50) DEFAULT NULL COMMENT '用例编码', `case_name` varchar(100) DEFAULT NULL COMMENT '用例名称', `case_category` varchar(50) DEFAULT NULL COMMENT '用例分类(功能测试/性能测试/安全测试等)', `test_description` text COMMENT '测试描述', `precondition` text COMMENT '前置条件', `test_steps` text COMMENT '测试步骤', `expected_result` text COMMENT '预期结果', `priority` char(1) DEFAULT '2' COMMENT '优先级(1高 2中 3低)', `enabled` char(1) DEFAULT '0' COMMENT '是否启用(0启用 1禁用)', `sort_order` int DEFAULT '0' COMMENT '排序号', `estimated_duration` int DEFAULT NULL COMMENT '预计执行时长(秒)', `remark` varchar(500) DEFAULT NULL COMMENT '备注', `create_by` varchar(64) DEFAULT '' COMMENT '创建者', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新者', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `detect_item_id` varchar(64) DEFAULT NULL COMMENT '检测项ID', PRIMARY KEY (`id`), UNIQUE KEY `uk_case_code` (`case_code`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛测试用例表'; -- ---------------------------- -- 4、任务管理表 -- ---------------------------- DROP TABLE IF EXISTS `aima_task`; CREATE TABLE `aima_task` ( `id` varchar(64) NOT NULL COMMENT '主键ID', `task_code` varchar(50) DEFAULT NULL COMMENT '任务编码', `task_name` varchar(100) DEFAULT NULL COMMENT '任务名称', `task_type` char(1) DEFAULT '1' COMMENT '任务类型(1常规测试 2回归测试 3专项测试)', `phone_id` varchar(64) DEFAULT NULL COMMENT '手机ID', `vehicle_id` varchar(64) DEFAULT NULL COMMENT '车辆ID', `test_case_count` int DEFAULT '0' COMMENT '测试用例数量', `remark` varchar(500) DEFAULT NULL COMMENT '备注', `create_by` varchar(64) DEFAULT '' COMMENT '创建者', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新者', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `task_config_id` varchar(64) DEFAULT NULL COMMENT '任务配置ID', PRIMARY KEY (`id`), UNIQUE KEY `uk_task_code` (`task_code`), KEY `idx_phone_id` (`phone_id`), KEY `idx_vehicle_id` (`vehicle_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛任务管理表'; -- ---------------------------- -- 5、任务与测试用例关联表 -- ---------------------------- DROP TABLE IF EXISTS `aima_task_test_case`; CREATE TABLE `aima_task_test_case` ( `task_id` varchar(64) NOT NULL COMMENT '任务ID', `test_case_id` varchar(64) NOT NULL COMMENT '测试用例ID', `sort_order` int(11) DEFAULT '0' COMMENT '排序号', PRIMARY KEY (`task_id`, `test_case_id`), KEY `idx_task_id` (`task_id`), KEY `idx_test_case_id` (`test_case_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛任务与测试用例关联表'; -- ---------------------------- -- 6、任务执行实例表 -- ---------------------------- DROP TABLE IF EXISTS `aima_task_instance`; CREATE TABLE `aima_task_instance` ( `id` varchar(64) NOT NULL COMMENT '主键ID', `task_id` varchar(64) DEFAULT NULL COMMENT '任务ID', `phone_id` varchar(64) DEFAULT NULL COMMENT '手机ID', `vehicle_id` varchar(64) DEFAULT NULL COMMENT '车辆ID', `execution_number` int DEFAULT '1' COMMENT '第几次执行', `status` int DEFAULT '0' COMMENT '执行状态(0待执行 1执行中 2已完成 3已取消 4执行失败 5已暂停)', `total_cases` int DEFAULT '0' COMMENT '总用例数', `completed_cases` int DEFAULT '0' COMMENT '已完成用例数', `passed_cases` int DEFAULT '0' COMMENT '通过用例数', `failed_cases` int DEFAULT '0' COMMENT '失败用例数', `progress` decimal(5,2) DEFAULT '0.00' COMMENT '执行进度(百分比,保留2位小数)', `start_time` datetime DEFAULT NULL COMMENT '开始时间', `end_time` datetime DEFAULT NULL COMMENT '结束时间', `remark` varchar(500) DEFAULT NULL COMMENT '备注', `create_by` varchar(64) DEFAULT '' COMMENT '创建者', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新者', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `task_ins_id` varchar(64) DEFAULT NULL COMMENT '任务执行实例ID', PRIMARY KEY (`id`), KEY `idx_task_id` (`task_id`), KEY `idx_phone_id` (`phone_id`), KEY `idx_vehicle_id` (`vehicle_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛任务执行实例表'; -- ---------------------------- -- 6、日志管理表(单独存表) -- ---------------------------- DROP TABLE IF EXISTS `aima_test_log`; CREATE TABLE `aima_test_log` ( `id` varchar(64) NOT NULL COMMENT '主键ID', `task_instance_id` varchar(64) DEFAULT NULL COMMENT '任务执行实例ID', `task_id` varchar(64) DEFAULT NULL COMMENT '任务ID', `task_name` varchar(100) DEFAULT NULL COMMENT '任务名称', `test_case_id` varchar(64) DEFAULT NULL COMMENT '测试用例ID', `case_name` varchar(100) DEFAULT NULL COMMENT '用例名称', `log_level` varchar(20) DEFAULT 'INFO' COMMENT '日志级别(DEBUG/INFO/WARN/ERROR)', `log_type` varchar(50) DEFAULT NULL COMMENT '日志类型(执行日志/系统日志/异常日志)', `log_content` varchar(255) COMMENT '日志内容', `log_time` datetime DEFAULT NULL COMMENT '日志时间', `execution_step` varchar(100) DEFAULT NULL COMMENT '执行步骤', `actual_result` text COMMENT '实际结果', `test_status` char(1) DEFAULT NULL COMMENT '测试结果(0未执行 1通过 2失败 3跳过)', `screenshot_url` varchar(500) DEFAULT NULL COMMENT '截图URL', `video_url` varchar(500) DEFAULT NULL COMMENT '视频URL', `error_stack` text COMMENT '错误堆栈', `duration_ms` bigint DEFAULT NULL COMMENT '执行耗时(毫秒)', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `create_by` varchar(64) DEFAULT '' COMMENT '创建者', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新者', `progress` decimal(5,2) DEFAULT '0.00' COMMENT '执行进度(百分比,保留2位小数)', `status` char(1) DEFAULT '0' COMMENT '执行状态(0进行中 1已完成 2已暂停 3已取消 4已失败)', `remark` varchar(500) DEFAULT NULL COMMENT '备注', PRIMARY KEY (`id`), KEY `idx_task_instance_id` (`task_instance_id`), KEY `idx_task_id` (`task_id`), KEY `idx_test_case_id` (`test_case_id`), KEY `idx_log_time` (`log_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛测试日志表'; -- ---------------------------- -- 7、告警管理表 -- ---------------------------- DROP TABLE IF EXISTS `aima_alarm`; CREATE TABLE `aima_alarm` ( `id` varchar(64) NOT NULL COMMENT '主键ID', `alarm_code` varchar(50) DEFAULT NULL COMMENT '告警编码', `task_instance_id` varchar(64) DEFAULT NULL COMMENT '任务执行实例ID', `task_id` varchar(64) DEFAULT NULL COMMENT '任务ID', `task_name` varchar(100) DEFAULT NULL COMMENT '任务名称', `phone_id` varchar(64) DEFAULT NULL COMMENT '手机ID', `phone_name` varchar(100) DEFAULT NULL COMMENT '手机名称', `vehicle_id` varchar(64) DEFAULT NULL COMMENT '车辆ID', `vin` varchar(50) DEFAULT NULL COMMENT '车架号', `test_case_id` varchar(64) DEFAULT NULL COMMENT '测试用例ID', `case_name` varchar(100) DEFAULT NULL COMMENT '用例名称', `alarm_level` char(1) DEFAULT '2' COMMENT '告警级别(1提示 2警告 3严重)', `alarm_type` char(1) DEFAULT '1' COMMENT '告警类型(1设备异常 2测试异常 3通信异常 4性能异常)', `alarm_title` varchar(200) DEFAULT NULL COMMENT '告警标题', `alarm_content` text COMMENT '告警内容', `alarm_location` varchar(200) DEFAULT NULL COMMENT '告警位置/步骤', `alarm_time` datetime DEFAULT NULL COMMENT '告警时间', `handle_status` char(1) DEFAULT '0' COMMENT '处理状态(0未处理 1处理中 2已处理 3已忽略)', `handler` varchar(64) DEFAULT NULL COMMENT '处理人', `handle_time` datetime DEFAULT NULL COMMENT '处理时间', `handle_remark` varchar(500) DEFAULT NULL COMMENT '处理说明', `evidence_image` varchar(500) DEFAULT NULL COMMENT '图片证据', `create_by` varchar(64) DEFAULT '' COMMENT '创建者', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新者', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_alarm_code` (`alarm_code`), KEY `idx_task_instance_id` (`task_instance_id`), KEY `idx_task_id` (`task_id`), KEY `idx_alarm_time` (`alarm_time`), KEY `idx_handle_status` (`handle_status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='爱玛告警管理表';