去除供应商类型多余代码

This commit is contained in:
liuminghui
2026-10-28 17:14:42 +08:00
parent 2bd417b84e
commit 1e4711326c
19 changed files with 159 additions and 948 deletions
@@ -1,11 +1,40 @@
-- 客户、供应商主表增加合同开始时间、合同结束时间
-- 已存在的库执行本脚本;列已存在时不要重复执行
-- 客户主表增加合同开始时间、合同结束时间
-- 供应商只增加合同结束时间;合同开始时间与原有合作开始日期重复,已有列则删除
-- 客户列已存在时不要重复执行前面的 ALTER
SET NAMES utf8mb4;
-- 先去掉供应商上后加的合同开始时间,避免后续语句失败时这一列还留着
SET @has_supplier_contract_start := (
SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'sup_supplier'
AND COLUMN_NAME = 'contract_start_date'
);
SET @drop_supplier_contract_start := IF(
@has_supplier_contract_start > 0,
'ALTER TABLE sup_supplier DROP COLUMN contract_start_date',
'SELECT 1'
);
PREPARE drop_supplier_contract_start_stmt FROM @drop_supplier_contract_start;
EXECUTE drop_supplier_contract_start_stmt;
DEALLOCATE PREPARE drop_supplier_contract_start_stmt;
ALTER TABLE ctr_customer
ADD COLUMN contract_start_date date DEFAULT NULL COMMENT '合同开始时间' AFTER credit_ed,
ADD COLUMN contract_end_date date DEFAULT NULL COMMENT '合同结束时间' AFTER contract_start_date;
ALTER TABLE sup_supplier
ADD COLUMN contract_start_date date DEFAULT NULL COMMENT '合同开始时间' AFTER cooperation_start_date,
ADD COLUMN contract_end_date date DEFAULT NULL COMMENT '合同结束时间' AFTER contract_start_date;
-- 供应商原有合作开始日期,只补合同结束时间(已有则跳过)
SET @has_supplier_contract_end := (
SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'sup_supplier'
AND COLUMN_NAME = 'contract_end_date'
);
SET @add_supplier_contract_end := IF(
@has_supplier_contract_end = 0,
'ALTER TABLE sup_supplier ADD COLUMN contract_end_date date DEFAULT NULL COMMENT ''合同结束时间'' AFTER cooperation_start_date',
'SELECT 1'
);
PREPARE add_supplier_contract_end_stmt FROM @add_supplier_contract_end;
EXECUTE add_supplier_contract_end_stmt;
DEALLOCATE PREPARE add_supplier_contract_end_stmt;