优化线索、商机、项目相关开发
This commit is contained in:
@@ -1,13 +1,42 @@
|
||||
-- 为 CRM 业务管线(线索/商机/项目)增加「对接人职位」字段 contact_position。
|
||||
-- 若已执行过 yz_backend_crm_pipeline.sql(表已存在),执行本脚本即可;
|
||||
-- 若尚未建表,直接执行 yz_backend_crm_pipeline.sql 已包含该字段,无需本脚本。
|
||||
-- 脚本可重复执行:列已存在时 MySQL 报 duplicate column,忽略即可。
|
||||
-- =============================================================================
|
||||
-- 为 CRM 业务管线(线索/商机/项目)增加「对接人职位」字段 contact_position
|
||||
--
|
||||
-- 说明:
|
||||
-- - 幂等:列已存在时自动跳过,不会报 Duplicate column 错误;
|
||||
-- - 只增加字段,不改动任何已有数据;
|
||||
-- - 若尚未建表,直接执行 yz_backend_crm_pipeline.sql 已包含该字段,无需本脚本。
|
||||
-- =============================================================================
|
||||
|
||||
ALTER TABLE `yz_tenant_crm_clue`
|
||||
ADD COLUMN `contact_position` varchar(50) NOT NULL DEFAULT '' COMMENT '对接人职位' AFTER `contact_person`;
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
ALTER TABLE `yz_tenant_crm_business`
|
||||
ADD COLUMN `contact_position` varchar(50) NOT NULL DEFAULT '' COMMENT '对接人职位' AFTER `contact_person`;
|
||||
-- 1. 线索
|
||||
SET @has_col := (SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'yz_backend_crm_clue' AND COLUMN_NAME = 'contact_position');
|
||||
SET @sql := IF(@has_col = 0,
|
||||
'ALTER TABLE `yz_backend_crm_clue` ADD COLUMN `contact_position` varchar(50) NOT NULL DEFAULT '''' COMMENT ''对接人职位'' AFTER `contact_person`',
|
||||
'SELECT ''skip: yz_backend_crm_clue.contact_position 已存在'' AS note');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
ALTER TABLE `yz_tenant_crm_project`
|
||||
ADD COLUMN `contact_position` varchar(50) NOT NULL DEFAULT '' COMMENT '对接人职位' AFTER `contact_person`;
|
||||
-- 2. 商机
|
||||
SET @has_col := (SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'yz_backend_crm_business' AND COLUMN_NAME = 'contact_position');
|
||||
SET @sql := IF(@has_col = 0,
|
||||
'ALTER TABLE `yz_backend_crm_business` ADD COLUMN `contact_position` varchar(50) NOT NULL DEFAULT '''' COMMENT ''对接人职位'' AFTER `contact_person`',
|
||||
'SELECT ''skip: yz_backend_crm_business.contact_position 已存在'' AS note');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
-- 3. 项目
|
||||
SET @has_col := (SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'yz_backend_crm_project' AND COLUMN_NAME = 'contact_position');
|
||||
SET @sql := IF(@has_col = 0,
|
||||
'ALTER TABLE `yz_backend_crm_project` ADD COLUMN `contact_position` varchar(50) NOT NULL DEFAULT '''' COMMENT ''对接人职位'' AFTER `contact_person`',
|
||||
'SELECT ''skip: yz_backend_crm_project.contact_position 已存在'' AS note');
|
||||
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||
|
||||
-- 4. 核对:三张表的 contact_position 字段
|
||||
SELECT TABLE_NAME, COLUMN_NAME, COLUMN_TYPE, COLUMN_COMMENT
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME IN ('yz_backend_crm_clue', 'yz_backend_crm_business', 'yz_backend_crm_project')
|
||||
AND COLUMN_NAME = 'contact_position'
|
||||
ORDER BY TABLE_NAME;
|
||||
|
||||
Reference in New Issue
Block a user