CMVR-IOT/sql/robot_quic_identity_migration.sql
lixiaolong 34ff31366d feat(task): 支持多机器人角色分配的任务执行功能
- 在任务启动接口中增加 AimaTaskStartVO 和 InspectionTaskStartVO 参数支持
- 实现多机器人角色分配机制,支持运行时动态分配机器人和设备资源
- 添加 FlowRuntimeAssignmentResolver 组件处理节点执行目标解析
- 更新任务执行引擎以支持多机器人并发控制和资源锁定
- 修改数据库约束将机器人设备关联改为唯一索引防止重复绑定
- 增强流程定义验证器确保运行时分配配置的完整性
- 扩展任务上下文管理支持多机器人 ID 和锁键跟踪
- 优化试运行和项目任务执行流程集成新的资源分配逻辑
2026-08-11 16:54:01 +08:00

46 lines
2.3 KiB
SQL

-- Existing robot rows are intentionally left with robot_id = NULL.
alter table inspection_robot
add column robot_id varchar(128) null comment 'Permanent robot identity reported by QUIC' after id,
add column connect_status char(1) not null default '0' comment '0 offline, 1 online' after robot_id,
add column quic_node_id varchar(128) null comment 'Current QUIC node instance' after connect_status,
add column quic_session_id varchar(128) null comment 'Current QUIC session' after quic_node_id,
add column quic_boot_id varchar(128) null comment 'Current edge boot id' after quic_session_id,
add column observed_ip varchar(64) null comment 'Observed QUIC source IP' after quic_boot_id,
add column software_version varchar(64) null comment 'Edge software version' after observed_ip,
add column last_heartbeat_time datetime(3) null comment 'Last accepted heartbeat time' after software_version,
add column archived_status char(1) not null default '0' comment '0 active, 1 archived' after last_heartbeat_time,
add index idx_inspection_robot_robot_id (robot_id),
add index idx_inspection_robot_connect_status (connect_status);
create table inspection_robot_device (
id varchar(64) not null,
robot_id varchar(128) not null,
device_id varchar(128) not null,
device_name varchar(128) null,
device_kind int null,
type_name varchar(128) null,
enabled char(1) not null default '1',
manager_state int null,
health_status int null,
online_status char(1) not null default '0',
has_error char(1) not null default '0',
error_message varchar(1000) null,
status_updated_time datetime(3) null,
last_seen_time datetime(3) null,
offline_time datetime(3) null,
create_by varchar(64) null,
create_time datetime null,
update_by varchar(64) null,
update_time datetime null,
remark varchar(500) null,
primary key (id),
index idx_robot_device_robot_id (robot_id),
unique index uk_robot_device_identity (robot_id, device_id),
index idx_robot_device_online (robot_id, online_status)
) comment='Devices discovered from robot QUIC heartbeat';
-- New task instances record the permanent identity. Legacy instances remain NULL.
alter table te_task_inst
add column robot_id varchar(128) null comment 'Permanent robot identity' after task_id,
add index idx_te_task_inst_robot_id (robot_id);