-- syncSections 批次追踪表
CREATE TABLE `sync_batch_record` (
    `batch_id` varchar(64) NOT NULL COMMENT '批次ID',
    `api_name` varchar(64) NULL COMMENT '同步接口名称',
    `resource_type` varchar(32) NULL COMMENT '同步资源类型',
    `tenant_id` varchar(20) NULL COMMENT '租户编号',
    `request_payload` longtext NULL COMMENT '完整原始请求JSON',
    `request_total` int NULL DEFAULT 0 COMMENT '请求记录数',
    `success_count` int NULL DEFAULT 0 COMMENT '成功记录数',
    `error_count` int NULL DEFAULT 0 COMMENT '异常记录数',
    `status` varchar(32) NULL COMMENT '批次状态',
    `start_time` datetime NULL COMMENT '开始时间',
    `end_time` datetime NULL COMMENT '结束时间',
    `cost_ms` bigint NULL DEFAULT 0 COMMENT '处理耗时毫秒',
    PRIMARY KEY (`batch_id`),
    KEY `idx_sync_batch_record_resource` (`resource_type`),
    KEY `idx_sync_batch_record_status` (`status`),
    KEY `idx_sync_batch_record_start_time` (`start_time`)
) COMMENT='同步批次记录';

CREATE TABLE `sync_batch_error_record` (
    `id` varchar(64) NOT NULL COMMENT '主键',
    `batch_id` varchar(64) NOT NULL COMMENT '批次ID',
    `resource_type` varchar(32) NULL COMMENT '同步资源类型',
    `record_index` int NULL COMMENT '原始请求记录序号',
    `biz_key` varchar(128) NULL COMMENT '业务主键',
    `error_code` varchar(64) NULL COMMENT '错误编码',
    `error_message` varchar(2000) NULL COMMENT '错误信息',
    `raw_record_json` longtext NULL COMMENT '失败记录原始JSON',
    `created_time` datetime NULL COMMENT '创建时间',
    PRIMARY KEY (`id`),
    KEY `idx_sync_batch_error_record_batch` (`batch_id`),
    KEY `idx_sync_batch_error_record_biz` (`biz_key`),
    KEY `idx_sync_batch_error_record_resource` (`resource_type`)
) COMMENT='同步批次失败明细';
