-- 创建PLC测试任务表
|
CREATE TABLE IF NOT EXISTS `plc_test_task` (
|
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
`project_id` varchar(50) NOT NULL COMMENT '关联的项目ID(外键)',
|
`module` varchar(50) NOT NULL COMMENT '模块名称',
|
`operation_mode` varchar(20) NOT NULL COMMENT '操作模式:MANUAL|AUTOMATIC',
|
`selected_fields` json COMMENT '选中的字段列表(JSON格式)',
|
`status` varchar(20) NOT NULL DEFAULT 'PENDING' COMMENT '任务状态:PENDING|RUNNING|SUCCESS|FAILED|STOPPED',
|
`start_time` datetime COMMENT '任务开始时间',
|
`end_time` datetime COMMENT '任务结束时间',
|
`duration` int(11) COMMENT '耗时(毫秒)',
|
`result` json COMMENT '测试结果数据(JSON格式)',
|
`error_message` varchar(255) COMMENT '错误信息',
|
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
PRIMARY KEY (`id`),
|
KEY `idx_project_id` (`project_id`),
|
KEY `idx_status` (`status`),
|
KEY `idx_created_at` (`created_at`),
|
CONSTRAINT `fk_project_id` FOREIGN KEY (`project_id`)
|
REFERENCES `plc_address_mapping` (`project_id`) ON DELETE RESTRICT
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='PLC测试任务表';
|