Files
nanguangszwlback/sql/20260818_contract_attachment_original_name.sql
T

39 lines
2.8 KiB
SQL

-- =============================================================================
-- 合同附件原始文件名 4 列(配合 mhd-product /menu/upload/v2 返回的 originalName 使用)
-- 需求:合同管理-上传的文件显示原始文件名(此前仅存 fileKey,原名上传时被 UUID 替换丢失)
-- 执行库:mhd-system 服务对应的业务库(达梦 DM8)
-- 说明:DM 不支持 AFTER 定位列、不支持列内联 COMMENT;VARCHAR 默认按字节计长,
-- UTF-8 中文 3 字节/字,故用 2000;新列追加在表尾,MyBatis-Plus 按列名驼峰映射不受影响
-- =============================================================================
ALTER TABLE CONTRACT_MANAGE ADD COLUMN CONTRACT_ORIGINAL_NAME VARCHAR(2000) NULL;
ALTER TABLE CONTRACT_MANAGE ADD COLUMN INTEGRITY_AGREEMENT_NAME VARCHAR(2000) NULL;
ALTER TABLE CONTRACT_MANAGE ADD COLUMN SECURITY_PROTOCOL_NAME VARCHAR(2000) NULL;
ALTER TABLE CONTRACT_MANAGE ADD COLUMN OTHER_ATTACHMENTS_NAME VARCHAR(2000) NULL;
COMMENT ON COLUMN CONTRACT_MANAGE.CONTRACT_ORIGINAL_NAME IS '合同正本附件原始文件名(多文件与contract_original_url同分隔符同顺序)';
COMMENT ON COLUMN CONTRACT_MANAGE.INTEGRITY_AGREEMENT_NAME IS '廉政协议附件原始文件名(多文件与integrity_agreement_url同分隔符同顺序)';
COMMENT ON COLUMN CONTRACT_MANAGE.SECURITY_PROTOCOL_NAME IS '安全协议附件原始文件名(多文件与security_protocol_url同分隔符同顺序)';
COMMENT ON COLUMN CONTRACT_MANAGE.OTHER_ATTACHMENTS_NAME IS '其他附件原始文件名(多文件与other_attachments_url同分隔符同顺序)';
-- =============================================================================
-- 执行前检查(列是否已存在,避免重复执行报错;DM 数据字典中标识符按大写存储)
-- SELECT COLUMN_NAME FROM USER_TAB_COLUMNS
-- WHERE TABLE_NAME = 'CONTRACT_MANAGE'
-- AND COLUMN_NAME IN ('CONTRACT_ORIGINAL_NAME','INTEGRITY_AGREEMENT_NAME',
-- 'SECURITY_PROTOCOL_NAME','OTHER_ATTACHMENTS_NAME');
--
-- 删除前检查(新列是否已有数据;有数据则删列后附件名将退回显示 uuid 名)
-- SELECT COUNT(*) FROM CONTRACT_MANAGE
-- WHERE CONTRACT_ORIGINAL_NAME IS NOT NULL
-- OR INTEGRITY_AGREEMENT_NAME IS NOT NULL
-- OR SECURITY_PROTOCOL_NAME IS NOT NULL
-- OR OTHER_ATTACHMENTS_NAME IS NOT NULL;
--
-- 回滚(确认无数据依赖后执行)
-- ALTER TABLE CONTRACT_MANAGE DROP COLUMN CONTRACT_ORIGINAL_NAME;
-- ALTER TABLE CONTRACT_MANAGE DROP COLUMN INTEGRITY_AGREEMENT_NAME;
-- ALTER TABLE CONTRACT_MANAGE DROP COLUMN SECURITY_PROTOCOL_NAME;
-- ALTER TABLE CONTRACT_MANAGE DROP COLUMN OTHER_ATTACHMENTS_NAME;
-- =============================================================================