30 lines
1.1 KiB
SQL
30 lines
1.1 KiB
SQL
-- sys_group 加启停状态列(2026-10-20 部门线 P0 最小批)
|
||
-- 目标环境:160(MySQL 8,容器网 mysql8:3306,库见 UserBase 生产连接串)
|
||
-- 幂等:INFORMATION_SCHEMA 判列存在即跳过,可重复执行;160 一律以本脚本为准(不依赖 ddl-auto)
|
||
-- 回滚:ALTER TABLE sys_group DROP COLUMN status;(存量数据全 0=启用,回滚无行为影响)
|
||
|
||
DELIMITER $$
|
||
|
||
DROP PROCEDURE IF EXISTS add_sys_group_status $$
|
||
CREATE PROCEDURE add_sys_group_status()
|
||
BEGIN
|
||
IF NOT EXISTS (
|
||
SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
|
||
WHERE TABLE_SCHEMA = DATABASE()
|
||
AND TABLE_NAME = 'sys_group'
|
||
AND COLUMN_NAME = 'status'
|
||
) THEN
|
||
ALTER TABLE sys_group
|
||
ADD COLUMN status TINYINT NOT NULL DEFAULT 0
|
||
COMMENT '0 启用 / 1 停用(停用后新建选不到,已有引用与在途流程不受影响)';
|
||
END IF;
|
||
END $$
|
||
|
||
CALL add_sys_group_status() $$
|
||
DROP PROCEDURE IF EXISTS add_sys_group_status $$
|
||
|
||
DELIMITER ;
|
||
|
||
-- 执行后核对(计数入台账,业务数据不入):
|
||
-- SELECT status, COUNT(*) FROM sys_group GROUP BY status; -- 预期全部 status=0
|