| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- -- =====================================================================
- -- 工单优先级(work_order.order_level)取值重定义迁移脚本
- --
- -- 旧:1-紧急 2-一般 3-低
- -- 新:0-紧急 1-一般 2-低
- --
- -- 配套代码改动:
- -- com.zksy.ops.enums.WorkOrderLevelEnum URGENT(0) NORMAL(1) LOW(2)
- -- 前端 src/views/subSystem/pipeNetwork/ops/workOrder/workOrderDict.js
- -- 的 ORDER_LEVEL_MAP 同步改为 0/1/2
- --
- -- 注意:本脚本【仅可执行一次】!
- -- 迁移后合法值为 0/1/2,其中 1、2 与旧值重合,
- -- 重复执行会把「一般(1)」再次误改为「紧急(0)」。
- -- 执行前请备份数据。
- -- =====================================================================
- -- 1) 更新字段注释
- COMMENT ON COLUMN app_user.work_order.order_level IS '工单优先级:0-紧急 1-一般 2-低';
- -- 2) 历史数据迁移(单条 UPDATE 原子完成,避免中间值被二次匹配)
- UPDATE app_user.work_order
- SET order_level = CASE order_level
- WHEN 1 THEN 0 -- 紧急
- WHEN 2 THEN 1 -- 一般
- WHEN 3 THEN 2 -- 低
- ELSE order_level
- END
- WHERE order_level IN (1, 2, 3);
- -- 3) 兜底:非法/空值统一置为「一般(1)」
- UPDATE app_user.work_order
- SET order_level = 1
- WHERE order_level IS NULL
- OR order_level NOT IN (0, 1, 2);
- -- =====================================================================
- -- 快速核验:
- -- SELECT order_level, count(*) FROM app_user.work_order GROUP BY order_level ORDER BY order_level;
- -- 期望只出现 0 / 1 / 2 三种取值。
- -- =====================================================================
|