87 lines
2.4 KiB
MySQL
87 lines
2.4 KiB
MySQL
|
|
-- =====================================================
|
|||
|
|
-- 为 work_order 表添加 supplement 字段
|
|||
|
|
-- 用于管理师补充陪伴员反馈内容
|
|||
|
|
-- 执行日期:2026-01-26
|
|||
|
|
-- =====================================================
|
|||
|
|
|
|||
|
|
-- 方式1:使用存储过程安全添加字段(推荐)
|
|||
|
|
DELIMITER $$
|
|||
|
|
|
|||
|
|
DROP PROCEDURE IF EXISTS add_supplement_column$$
|
|||
|
|
|
|||
|
|
CREATE PROCEDURE add_supplement_column()
|
|||
|
|
BEGIN
|
|||
|
|
-- 检查字段是否存在
|
|||
|
|
IF NOT EXISTS (
|
|||
|
|
SELECT 1
|
|||
|
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|||
|
|
WHERE TABLE_SCHEMA = DATABASE()
|
|||
|
|
AND TABLE_NAME = 'work_order'
|
|||
|
|
AND COLUMN_NAME = 'supplement'
|
|||
|
|
) THEN
|
|||
|
|
-- 字段不存在,添加字段
|
|||
|
|
ALTER TABLE `work_order`
|
|||
|
|
ADD COLUMN `supplement` TEXT COMMENT '管理师补充内容' AFTER `result`;
|
|||
|
|
|
|||
|
|
SELECT '✅ supplement 字段添加成功' AS result;
|
|||
|
|
ELSE
|
|||
|
|
-- 字段已存在
|
|||
|
|
SELECT '⚠️ supplement 字段已存在,无需添加' AS result;
|
|||
|
|
END IF;
|
|||
|
|
END$$
|
|||
|
|
|
|||
|
|
DELIMITER ;
|
|||
|
|
|
|||
|
|
-- 执行存储过程
|
|||
|
|
CALL add_supplement_column();
|
|||
|
|
|
|||
|
|
-- 删除存储过程
|
|||
|
|
DROP PROCEDURE IF EXISTS add_supplement_column;
|
|||
|
|
|
|||
|
|
-- =====================================================
|
|||
|
|
-- 验证字段是否添加成功
|
|||
|
|
-- =====================================================
|
|||
|
|
SELECT
|
|||
|
|
COLUMN_NAME AS '字段名',
|
|||
|
|
COLUMN_TYPE AS '字段类型',
|
|||
|
|
IS_NULLABLE AS '是否可空',
|
|||
|
|
COLUMN_COMMENT AS '字段注释'
|
|||
|
|
FROM
|
|||
|
|
INFORMATION_SCHEMA.COLUMNS
|
|||
|
|
WHERE
|
|||
|
|
TABLE_SCHEMA = DATABASE()
|
|||
|
|
AND TABLE_NAME = 'work_order'
|
|||
|
|
AND COLUMN_NAME = 'supplement';
|
|||
|
|
|
|||
|
|
-- =====================================================
|
|||
|
|
-- 可选:数据迁移
|
|||
|
|
-- 如果之前有数据保存在 solution 字段,可以迁移到 supplement
|
|||
|
|
-- =====================================================
|
|||
|
|
-- 查看需要迁移的数据
|
|||
|
|
SELECT
|
|||
|
|
id,
|
|||
|
|
work_type,
|
|||
|
|
solution,
|
|||
|
|
supplement
|
|||
|
|
FROM
|
|||
|
|
`work_order`
|
|||
|
|
WHERE
|
|||
|
|
work_type = 'feedback'
|
|||
|
|
AND solution IS NOT NULL
|
|||
|
|
AND solution != ''
|
|||
|
|
AND (supplement IS NULL OR supplement = '');
|
|||
|
|
|
|||
|
|
-- 执行数据迁移(取消注释后执行)
|
|||
|
|
-- UPDATE `work_order`
|
|||
|
|
-- SET `supplement` = `solution`
|
|||
|
|
-- WHERE
|
|||
|
|
-- work_type = 'feedback'
|
|||
|
|
-- AND solution IS NOT NULL
|
|||
|
|
-- AND solution != ''
|
|||
|
|
-- AND (supplement IS NULL OR supplement = '');
|
|||
|
|
|
|||
|
|
-- =====================================================
|
|||
|
|
-- 完成提示
|
|||
|
|
-- =====================================================
|
|||
|
|
SELECT '✅ 数据库迁移完成!' AS message;
|