USE teachcloud_db;

ALTER TABLE `client_upgrade`
    ADD COLUMN `tool_type` VARCHAR(45) NOT NULL COMMENT '文件类型' AFTER `platform`,
DROP PRIMARY KEY,
ADD PRIMARY KEY USING BTREE (`platform`, `tool_type`);
UPDATE `client_upgrade` SET `tool_type` = 'TEACHCLOUD_CLIENT' WHERE (`platform` = 'WINDOWS') and (`tool_type` is null);

CREATE TABLE `t_sync_data` (
       `school_id` BIGINT(20) NOT NULL COMMENT '学校ID',
       `semester_id` BIGINT(20) NOT NULL COMMENT '学期ID',
       `exam_id` BIGINT(20) NOT NULL COMMENT '考试ID',
       `data_type` VARCHAR(45) NOT NULL COMMENT '同步数据类型（A：机构同步，B：用户同步，C：课程同步，D：考生同步，E：命题任务同步）',
       `start_time` BIGINT(20) NULL COMMENT '同步开始时间',
       `end_time` BIGINT(20) NULL COMMENT '同步结束时间',
       `last_sync_time` BIGINT(20) NULL COMMENT '最后一次同步时间',
       `status` TINYINT(1) NULL DEFAULT 0 COMMENT '状态（0：未同步/已完成，1：同步中）',
       `enable` TINYINT(1) NULL DEFAULT 1 COMMENT '启用/禁用',
       `cron` VARCHAR(45) NULL COMMENT 'cron表达式',
       `phone_number` VARCHAR(100) NULL COMMENT '手机号（多个用逗号分隔）',
       `detail` VARCHAR(200) NULL COMMENT '同步明细',
       `create_time` BIGINT(20) NULL COMMENT '创建时间',
       `update_time` BIGINT(20) NULL COMMENT '更新时间',
       PRIMARY KEY (`school_id`, `exam_id`))
    COMMENT = '数据同步设置';

CREATE TABLE `t_sync_data_log` (
      `school_id` BIGINT(20) NOT NULL COMMENT '学校ID',
      `exam_id` BIGINT(20) NOT NULL COMMENT '考试ID',
      `data_type` VARCHAR(45) NOT NULL COMMENT '同步数据类型',
      `start_time` BIGINT(20) NULL COMMENT '开始同步时间',
      `end_time` BIGINT(20) NULL COMMENT '结束同步时间',
      `count` INT NULL COMMENT '同步数量',
      `error_msg` MEDIUMTEXT NULL COMMENT '失败原因',
      PRIMARY KEY (`school_id`, `exam_id`, `data_type`))
    COMMENT = '数据同步日志';
