refactor: 合同表黑名单状态字段改kingdee_前缀(hcs_black_status改名kingdee_black_status并迁移数据)

This commit is contained in:
刘泉佳
2026-10-30 14:11:49 +08:00
parent b2c6533fab
commit 6f941697e9
4 changed files with 36 additions and 4 deletions
@@ -0,0 +1,32 @@
-- 合同表黑名单状态列改 kingdee_ 前缀(黑名单数据归金蝶口径,与客商档案表字段命名统一):
-- blade_contract_manage.hcs_black_status -> kingdee_black_status
-- blade_contract_change.hcs_black_status -> kingdee_black_status
-- 幂等可重复执行:新列不存在时,旧列存在则 CHANGE 改名迁移数据,否则新增;旧索引自动跟随列名,无需处理。
-- ① blade_contract_manage
SET @ddl = (SELECT IF(
(SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_contract_manage' AND COLUMN_NAME = 'kingdee_black_status') = 0,
(SELECT IF(
(SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_contract_manage' AND COLUMN_NAME = 'hcs_black_status') > 0,
'ALTER TABLE `blade_contract_manage` CHANGE COLUMN `hcs_black_status` `kingdee_black_status` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ''合规客商黑名单状态(C101-1,任一方黑名单记是)''',
'ALTER TABLE `blade_contract_manage` ADD COLUMN `kingdee_black_status` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ''合规客商黑名单状态(C101-1,任一方黑名单记是)'' AFTER `hcs_risk_level`')),
'SELECT 1'));
PREPARE stmt FROM @ddl;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- ② blade_contract_change
SET @ddl = (SELECT IF(
(SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_contract_change' AND COLUMN_NAME = 'kingdee_black_status') = 0,
(SELECT IF(
(SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_contract_change' AND COLUMN_NAME = 'hcs_black_status') > 0,
'ALTER TABLE `blade_contract_change` CHANGE COLUMN `hcs_black_status` `kingdee_black_status` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ''合规客商黑名单状态(展示用)''',
'ALTER TABLE `blade_contract_change` ADD COLUMN `kingdee_black_status` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ''合规客商黑名单状态(展示用)'' AFTER `hcs_risk_level`')),
'SELECT 1'));
PREPARE stmt FROM @ddl;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;