29 lines
2.2 KiB
SQL
29 lines
2.2 KiB
SQL
-- =============================================================
|
|
-- Project contacts: pick contacts from the linked companies
|
|
-- (a project no longer shows ALL contacts of the customer)
|
|
-- Table: yz_backend_crm_project
|
|
-- 1) upstream_contact_ids : JSON array of contact IDs picked from
|
|
-- the customer's address book (upstream).
|
|
-- 2) downstream_contact_ids : JSON array of contact IDs picked from
|
|
-- the counterpart's address book
|
|
-- (downstream for type=2 / midstream for type=3).
|
|
-- Contact details always come from yz_backend_erp_contact in real time;
|
|
-- only the picked ID references are stored here. Empty array -> ''.
|
|
-- Run: mysql -h<host> -P<port> -u<user> -p <db> < alter_project_contacts.sql
|
|
-- (re-running only reports "Duplicate column name", which is safe)
|
|
-- NOTE: keep this file ASCII-only; piping through some shells mangles non-ASCII.
|
|
-- =============================================================
|
|
|
|
-- 可重复执行:列不存在时才执行 ALTER,已存在自动跳过(不再报 1060 Duplicate column)。
|
|
|
|
-- upstream_contact_ids
|
|
SET @tbl := (SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'yz_backend_crm_project');
|
|
SET @col := (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'yz_backend_crm_project' AND COLUMN_NAME = 'upstream_contact_ids');
|
|
SET @ddl := IF(@tbl > 0 AND @col = 0, 'ALTER TABLE `yz_backend_crm_project` ADD COLUMN `upstream_contact_ids` TEXT NULL COMMENT ''picked contact IDs (JSON array) from customer address book'' AFTER `downstream_phone`', 'DO 0');
|
|
PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
|
|
|
-- downstream_contact_ids
|
|
SET @col := (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'yz_backend_crm_project' AND COLUMN_NAME = 'downstream_contact_ids');
|
|
SET @ddl := IF(@tbl > 0 AND @col = 0, 'ALTER TABLE `yz_backend_crm_project` ADD COLUMN `downstream_contact_ids` TEXT NULL COMMENT ''picked contact IDs (JSON array) from counterpart address book (downstream/midstream)'' AFTER `upstream_contact_ids`', 'DO 0');
|
|
PREPARE stmt FROM @ddl; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|