safety-eval-service/docs/db-diff/online_schema_upgrade.sql

81 lines
5.1 KiB
SQL
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

-- =============================================================================
-- 线上数据库结构升级 SQLsafety-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;