34 lines
1.2 KiB
SQL
34 lines
1.2 KiB
SQL
-- 增加入职电子签“作废后重新发起”能力。
|
|
-- 已执行 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`);
|
|
|