-- 存量库:为问题模板补充处理人字段(与 db.sql / IssueTemplate 实体对齐) -- 可重复执行;仅在列不存在时 ADD。 -- 目标表:t_issue_template SET @db := DATABASE(); -- HandlerType SET @exists := ( SELECT COUNT(1) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 't_issue_template' AND COLUMN_NAME = 'HandlerType' ); SET @sql := IF( @exists = 0, 'ALTER TABLE `t_issue_template` ADD COLUMN `HandlerType` VARCHAR(16) NULL COMMENT ''处理人类型:customer=订单所属客户,user=指定用户'' AFTER `NotifyMethod`', 'SELECT ''HandlerType already exists'' AS info' ); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; -- HandlerUserId SET @exists := ( SELECT COUNT(1) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 't_issue_template' AND COLUMN_NAME = 'HandlerUserId' ); SET @sql := IF( @exists = 0, 'ALTER TABLE `t_issue_template` ADD COLUMN `HandlerUserId` INT NULL COMMENT ''指定处理人用户Id(HandlerType=user 时必填)'' AFTER `HandlerType`', 'SELECT ''HandlerUserId already exists'' AS info' ); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; -- 历史数据默认按「指定用户」语义;无处理人时可在页面再编辑 UPDATE `t_issue_template` SET `HandlerType` = 'user' WHERE (`HandlerType` IS NULL OR `HandlerType` = '') AND `IsDeleted` = 0;