-- ============================================================================= -- 线上数据库结构升级 SQL(safety-eval-service) -- -- 对比基准:本地库 192.168.20.100:33080 / safety-eval-service -- 目标库 :nlb-kd2xz70qhllfet2koj.cn-beijing.nlb.aliyuncsslb.com:33068 / safety-eval-service -- 生成时间:2026-08-11 -- -- 【重要】本文件仅供人工评审,尚未在任何环境执行。 -- 执行前请务必先备份 org_info 表。 -- ============================================================================= USE `safety-eval-service`; -- ----------------------------------------------------------------------------- -- 一、备份(强烈建议,执行 DDL 前先跑) -- ----------------------------------------------------------------------------- -- CREATE TABLE `org_info_bak_20260811` LIKE `org_info`; -- INSERT INTO `org_info_bak_20260811` SELECT * FROM `org_info`; -- ----------------------------------------------------------------------------- -- 二、补齐线上缺失字段(org_info,共 8 个,均为原型 V1.6 新增) -- 全部为可空且无默认值,对存量数据无影响,可安全执行。 -- ----------------------------------------------------------------------------- ALTER TABLE `org_info` ADD COLUMN `qualification_cert_no` varchar(100) NULL DEFAULT NULL COMMENT '资质证书编号(2026-08-08 原型V1.6新增,非必填)' AFTER `env`, ADD COLUMN `fax` varchar(20) NULL DEFAULT NULL COMMENT '传真(2026-08-08 原型V1.6新增)' AFTER `qualification_cert_no`, ADD COLUMN `contact_name` varchar(50) NULL DEFAULT NULL COMMENT '联系人(2026-08-08 由 contact_name_phone 拆分)' AFTER `fax`, ADD COLUMN `contact_phone` varchar(20) NULL DEFAULT NULL COMMENT '联系电话(2026-08-08 由 contact_name_phone 拆分)' AFTER `contact_name`, ADD COLUMN `contact_name_phone` varchar(100) NULL DEFAULT NULL COMMENT '联系人及电话(2026-08-08 原型V1.6新增)' AFTER `contact_phone`, ADD COLUMN `fixed_assets_total` decimal(16,4) NULL DEFAULT NULL COMMENT '固定资产总值(万元,非负,2026-08-08 原型V1.6新增)' AFTER `contact_name_phone`, ADD COLUMN `apply_business_scope` varchar(500) NULL DEFAULT NULL COMMENT '拟申请的法定安全评价业务范围(多选逗号分隔,2026-08-08 原型V1.6新增)' AFTER `fixed_assets_total`, ADD COLUMN `org_intro` text NULL COMMENT '单位基本情况介绍(长文本,2026-08-08 原型V1.6新增)' AFTER `apply_business_scope`; -- ----------------------------------------------------------------------------- -- 三、字段注释对齐(eval_process_control) -- 仅注释文案不同,类型/长度/可空性均一致,无数据风险。 -- ----------------------------------------------------------------------------- ALTER TABLE `eval_process_control` MODIFY COLUMN `reviewer_signature_task_status` varchar(64) NOT NULL DEFAULT 'non_dispatched' COMMENT '过程控制审核签字任务状态 dispatched 下发,non_dispatched 未下发 , completed 已完成'; -- ============================================================================= -- 四、【不建议执行】org_info 两个字段的长度差异 -- -- safety_industry_category_code:线上 varchar(512) 本地 varchar(32) -- safety_industry_category_name:线上 varchar(1024) 本地 varchar(50) -- -- 线上字段比本地更宽。实测线上存量数据: -- - code 最大长度 110,其中 2 条 > 32 -- - name 最大长度 57, 其中 1 条 > 50 -- 若按本地定义收窄,将直接截断线上真实数据,造成不可逆的数据丢失。 -- -- 结论:应反向以线上为准,把【本地】改宽以与线上保持一致, -- 而不是把线上改窄。以下语句仅作留档,禁止在线上执行。 -- -- ALTER TABLE `org_info` -- MODIFY COLUMN `safety_industry_category_code` varchar(32) NULL DEFAULT NULL COMMENT '安全生产监管行业类别编码', -- MODIFY COLUMN `safety_industry_category_name` varchar(50) NULL DEFAULT NULL COMMENT '安全生产监管行业类别名称'; -- ============================================================================= -- ============================================================================= -- 五、建议在【本地库】执行(使本地向线上看齐,消除该项差异) -- -- ALTER TABLE `org_info` -- MODIFY COLUMN `safety_industry_category_code` varchar(512) NULL DEFAULT NULL COMMENT '安全生产监管行业类别编码', -- MODIFY COLUMN `safety_industry_category_name` varchar(1024) NULL DEFAULT NULL COMMENT '安全生产监管行业类别名称'; -- ============================================================================= -- ----------------------------------------------------------------------------- -- 六、执行后校验 -- ----------------------------------------------------------------------------- -- SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_COMMENT -- FROM information_schema.COLUMNS -- WHERE TABLE_SCHEMA='safety-eval-service' AND TABLE_NAME='org_info' -- ORDER BY ORDINAL_POSITION;