-- ============================================================================ -- smartor_sltd 数据库:ivr 语音问题两张表补齐 mapper 需要的 6 个列(第二批) -- 生成日期: 20260928 -- -- 【为什么需要】 -- 20260928 第一批已把 categoryName → script_assortname、并新增 script_assortid, -- 但 IvrLibaTemplateScriptMapper / IvrTaskTemplateScriptMapper 的 select / insert / update -- 语句里还引用了下面 6 个列,而 ivr_liba_template_script、ivr_task_template_script 两个表 -- 在本库中都不存在这些列(svy_lib_template_script 里是有的,定义照抄即可): -- dimension varchar(50) 问题维度 -- is_myd_exception varchar(50) 满意度意见异常(只针对文本) -- duty_dept_name text 责任科室名称(如果多个科室用逗号分割) -- duty_dept_code text 责任科室编码(如果多个科室用逗号分割) -- report_dept_name text 报备科室名称(如果多个科室用逗号分割) -- report_dept_code text 报备科室编码(如果多个科室用逗号分割) -- ⇒ 不补的话,satisfactionGraph 的语音分支(type=1 或 type=null)执行 -- IvrLibaTemplateScriptMapper.queryLibTemplateIds 时仍会抛 -- Unknown column 'is_myd_exception' in 'field list'。 -- (第一批之前报的是 script_assortname,那两个列已经补好。) -- -- 【校验方式】 -- 已用脚本逐列比对:两张表的 mapper 语句(select 片段 55 列 + insert/update 54 列) -- 与本库实际列做差集,缺失的就是上面这 6 个,别无其它。 -- ============================================================================ -- ---------------------------------------------------------------------------- -- 【0】执行前检查(应确认这 6 列不存在) -- ---------------------------------------------------------------------------- -- SELECT COLUMN_NAME FROM information_schema.COLUMNS -- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ivr_liba_template_script' -- AND COLUMN_NAME IN ('dimension','is_myd_exception','duty_dept_name','duty_dept_code','report_dept_name','report_dept_code'); -- SELECT COLUMN_NAME FROM information_schema.COLUMNS -- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ivr_task_template_script' -- AND COLUMN_NAME IN ('dimension','is_myd_exception','duty_dept_name','duty_dept_code','report_dept_name','report_dept_code'); -- ---------------------------------------------------------------------------- -- 【1】ivr_liba_template_script 补 6 列(121 行,INPLACE 不阻塞读写) -- ---------------------------------------------------------------------------- ALTER TABLE ivr_liba_template_script ADD COLUMN dimension varchar(50) NULL COMMENT '问题维度', ADD COLUMN is_myd_exception varchar(50) NULL COMMENT '满意度意见异常(只针对文本)', ADD COLUMN duty_dept_name text NULL COMMENT '责任科室名称(如果多个科室用逗号分割)', ADD COLUMN duty_dept_code text NULL COMMENT '责任科室编码(如果多个科室用逗号分割)', ADD COLUMN report_dept_name text NULL COMMENT '报备科室名称(如果多个科室用逗号分割)', ADD COLUMN report_dept_code text NULL COMMENT '报备科室编码(如果多个科室用逗号分割)', ALGORITHM = INPLACE, LOCK = NONE; -- ---------------------------------------------------------------------------- -- 【2】ivr_task_template_script 补 6 列(1221 行) -- ---------------------------------------------------------------------------- ALTER TABLE ivr_task_template_script ADD COLUMN dimension varchar(50) NULL COMMENT '问题维度', ADD COLUMN is_myd_exception varchar(50) NULL COMMENT '满意度意见异常(只针对文本)', ADD COLUMN duty_dept_name text NULL COMMENT '责任科室名称(如果多个科室用逗号分割)', ADD COLUMN duty_dept_code text NULL COMMENT '责任科室编码(如果多个科室用逗号分割)', ADD COLUMN report_dept_name text NULL COMMENT '报备科室名称(如果多个科室用逗号分割)', ADD COLUMN report_dept_code text NULL COMMENT '报备科室编码(如果多个科室用逗号分割)', ALGORITHM = INPLACE, LOCK = NONE; -- ---------------------------------------------------------------------------- -- 【3】验证:这两条 mapper 的 select 片段应能正常返回 -- 等价 SQL(MyBatis 里就是这段): -- select id, scriptno, is_myd_exception, ..., script_assortname, ..., script_assortid, ... -- from ivr_liba_template_script where del_flag=0 -- ---------------------------------------------------------------------------- -- SELECT COUNT(*) FROM ( -- SELECT id, scriptno, is_myd_exception, dimension, script_assortname, script_assortid, -- duty_dept_name, duty_dept_code, report_dept_name, report_dept_code, -- duty_dept_person_name, duty_dept_person_code, report_dept_person_code, report_dept_person_name, -- circulation_dept_person_code, circulation_dept_person_name -- FROM ivr_liba_template_script WHERE del_flag = 0) t; -- ---------------------------------------------------------------------------- -- 【4】回滚 -- ---------------------------------------------------------------------------- -- ALTER TABLE ivr_liba_template_script -- DROP COLUMN dimension, DROP COLUMN is_myd_exception, DROP COLUMN duty_dept_name, -- DROP COLUMN duty_dept_code, DROP COLUMN report_dept_name, DROP COLUMN report_dept_code; -- ALTER TABLE ivr_task_template_script -- DROP COLUMN dimension, DROP COLUMN is_myd_exception, DROP COLUMN duty_dept_name, -- DROP COLUMN duty_dept_code, DROP COLUMN report_dept_name, DROP COLUMN report_dept_code;