-- 1.0.580 —— 工作包 G:模块重算任务的协作式取消标志。 -- 背景:超管需要能取消一个正在跑的重算。只改 status 而进程仍在写表是假取消, -- 会和后续重算抢同一批表。所以这里只加一个标志位: -- 接口置 cancel_requested_flag=1,ModuleRebuildWorker 在阶段边界看到后自行中止, -- 由 TransformRunLogFinalizer 把那一轮 run log 收口为 ABORTED。 -- -- 幂等:列已存在则跳过,可重复执行。 SET @col_exists := ( SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ado_module_dashboard_rebuild_job' AND COLUMN_NAME = 'cancel_requested_flag' ); SET @ddl := IF(@col_exists = 0, 'ALTER TABLE ado_module_dashboard_rebuild_job ADD COLUMN cancel_requested_flag TINYINT(1) NOT NULL DEFAULT 0 COMMENT ''管理员请求协作式取消,阶段边界生效'' AFTER requested_by', 'SELECT 1'); PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt;