43 lines
1.6 KiB
SQL
43 lines
1.6 KiB
SQL
-- 通讯录表新增 QQ 字段
|
|
-- 对应模型:go/models/contact.go BackendErpContact
|
|
--
|
|
-- 说明:历史迁移 alter_contact_rename_to_global.sql 把表名从 yz_backend_erp_contact
|
|
-- 改名为 yz_backend_contact,但模型 BackendErpContact.TableName() 仍返回旧表名。
|
|
-- 为避免不同环境表名不一致导致字段加不上,这里按实际存在的表逐个补齐,可重复执行。
|
|
|
|
SET @db := DATABASE();
|
|
|
|
-- 旧表名(模型当前使用的表名)
|
|
SET @tbl := 'yz_backend_erp_contact';
|
|
SET @table_exists := (
|
|
SELECT COUNT(*) FROM information_schema.TABLES
|
|
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @tbl
|
|
);
|
|
SET @column_exists := (
|
|
SELECT COUNT(*) FROM information_schema.COLUMNS
|
|
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @tbl AND COLUMN_NAME = 'qq'
|
|
);
|
|
SET @sql := IF(@table_exists > 0 AND @column_exists = 0,
|
|
CONCAT('ALTER TABLE `', @tbl, '` ADD COLUMN `qq` VARCHAR(20) NULL COMMENT ''QQ号'' AFTER `wechat`'),
|
|
'SELECT 1');
|
|
PREPARE stmt FROM @sql;
|
|
EXECUTE stmt;
|
|
DEALLOCATE PREPARE stmt;
|
|
|
|
-- 新表名(执行过改名迁移的环境)
|
|
SET @tbl := 'yz_backend_contact';
|
|
SET @table_exists := (
|
|
SELECT COUNT(*) FROM information_schema.TABLES
|
|
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @tbl
|
|
);
|
|
SET @column_exists := (
|
|
SELECT COUNT(*) FROM information_schema.COLUMNS
|
|
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @tbl AND COLUMN_NAME = 'qq'
|
|
);
|
|
SET @sql := IF(@table_exists > 0 AND @column_exists = 0,
|
|
CONCAT('ALTER TABLE `', @tbl, '` ADD COLUMN `qq` VARCHAR(20) NULL COMMENT ''QQ号'' AFTER `wechat`'),
|
|
'SELECT 1');
|
|
PREPARE stmt FROM @sql;
|
|
EXECUTE stmt;
|
|
DEALLOCATE PREPARE stmt;
|