-- 增加入职电子签“作废后重新发起”能力。 -- 已执行 20260903_qiyuesuo_electronic_sign.sql 的数据库需要单独执行本文件。 SET NAMES utf8mb4; ALTER TABLE `ob_electronic_sign_process` ADD COLUMN `IsCurrent` TINYINT(1) NULL DEFAULT NULL COMMENT '是否为任务当前电子签流程,历史流程为空' AFTER `BizId`; ALTER TABLE `ob_electronic_sign_process` ADD COLUMN `ReissueReason` VARCHAR(500) NULL COMMENT '重新发起原因' AFTER `RetryCount`, ADD COLUMN `ReissuedAt` DATETIME(3) NULL COMMENT '被新流程替代时间' AFTER `ReissueReason`, ADD COLUMN `ReissuedByProcessId` BIGINT NULL COMMENT '替代当前流程的新流程Id' AFTER `ReissuedAt`; -- 雪花 Id 与创建时间同序,每个任务只把最新一条流程标记为当前流程。 UPDATE `ob_electronic_sign_process` process INNER JOIN ( SELECT `TaskId`, MAX(`Id`) AS `LatestProcessId` FROM `ob_electronic_sign_process` GROUP BY `TaskId` ) latest ON latest.`LatestProcessId` = process.`Id` SET process.`IsCurrent` = 1; ALTER TABLE `ob_electronic_sign_process` ADD UNIQUE KEY `uk_ob_esign_process_current` (`TaskId`, `IsCurrent`);