-- 智能体物料导入幂等命令与逐行回执。执行前备份目标库,并在应用发布前完成迁移。
|
CREATE TABLE IF NOT EXISTS `mdm_agent_import_command` (
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
|
`command_id` varchar(64) NOT NULL COMMENT '智能体提交命令 ID(幂等)',
|
`idempotency_key` varchar(128) NOT NULL COMMENT '幂等键',
|
`request_digest` char(64) NOT NULL COMMENT '请求摘要 SHA-256',
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户 ID',
|
`owner_user_id` bigint NOT NULL COMMENT '提交用户 ID',
|
`session_id` bigint DEFAULT NULL COMMENT '补录会话 ID',
|
`attachment_id` bigint NOT NULL COMMENT '附件 ID',
|
`source_sha256` char(64) NOT NULL COMMENT '附件内容摘要',
|
`preflight_hash` char(64) NOT NULL COMMENT '预检计划摘要',
|
`proposal_hash` varchar(128) DEFAULT NULL COMMENT '智能体方案摘要',
|
`sync_mes` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否同步 MES(本阶段固定关闭)',
|
`status` varchar(20) NOT NULL DEFAULT 'RUNNING' COMMENT 'RUNNING/SUCCEEDED/PARTIAL_FAILED/FAILED/UNKNOWN',
|
`total_count` int NOT NULL DEFAULT 0 COMMENT '总行数',
|
`success_count` int NOT NULL DEFAULT 0 COMMENT '成功行数',
|
`failed_count` int NOT NULL DEFAULT 0 COMMENT '失败行数',
|
`skipped_count` int NOT NULL DEFAULT 0 COMMENT '跳过行数',
|
`error_code` varchar(64) DEFAULT NULL COMMENT '命令级错误码',
|
`error_message` varchar(512) DEFAULT NULL COMMENT '命令级错误信息',
|
`lease_expires_at` datetime DEFAULT NULL COMMENT '执行租约到期时间',
|
`creator` varchar(64) DEFAULT NULL,
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
`updater` varchar(64) DEFAULT NULL,
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
`deleted` bit(1) NOT NULL DEFAULT b'0',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_agent_import_command` (`tenant_id`, `owner_user_id`, `command_id`),
|
UNIQUE KEY `uk_agent_import_idempotency` (`tenant_id`, `owner_user_id`, `idempotency_key`),
|
KEY `idx_agent_import_command_session` (`tenant_id`, `session_id`, `create_time`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='智能体物料导入命令';
|
|
CREATE TABLE IF NOT EXISTS `mdm_agent_import_command_row` (
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
|
`command_id` varchar(64) NOT NULL COMMENT '提交命令 ID',
|
`candidate_id` varchar(64) NOT NULL COMMENT '导入行标识',
|
`source_row` int DEFAULT NULL COMMENT '源文件行号',
|
`code` varchar(64) DEFAULT NULL COMMENT '物料编码',
|
`name` varchar(255) DEFAULT NULL COMMENT '物料名称',
|
`action` varchar(16) NOT NULL COMMENT 'CREATE/SKIP',
|
`status` varchar(16) NOT NULL COMMENT 'SUCCESS/FAILED/SKIPPED/UNKNOWN',
|
`target_item_id` bigint DEFAULT NULL COMMENT '创建的物料 ID',
|
`target_version` varchar(64) DEFAULT NULL COMMENT '目标版本(预留)',
|
`error_code` varchar(64) DEFAULT NULL COMMENT '行级错误码',
|
`error_message` varchar(512) DEFAULT NULL COMMENT '行级错误信息',
|
`retryable` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否可重试',
|
`creator` varchar(64) DEFAULT NULL,
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
`updater` varchar(64) DEFAULT NULL,
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
`deleted` bit(1) NOT NULL DEFAULT b'0',
|
PRIMARY KEY (`id`),
|
UNIQUE KEY `uk_agent_import_row` (`command_id`, `candidate_id`),
|
KEY `idx_agent_import_row_command` (`command_id`, `source_row`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='智能体物料导入逐行回执';
|