79 lines
2.6 KiB
SQL
79 lines
2.6 KiB
SQL
-- ============================================
|
||
-- 内容压缩(gzip)配置字段迁移
|
||
-- 数据库: nginxserver @ 10.1.1.122:3306
|
||
-- 日期: 2026-06-14
|
||
-- 执行方式: mysql -h 10.1.1.122 -u nginxserver -p nginxserver < gzip_migration.sql
|
||
-- ============================================
|
||
|
||
USE nginxserver;
|
||
|
||
-- 安全添加列(检查是否已存在,避免重复执行报错)
|
||
DROP PROCEDURE IF EXISTS add_gzip_columns;
|
||
|
||
DELIMITER $$
|
||
CREATE PROCEDURE add_gzip_columns()
|
||
BEGIN
|
||
-- gzip_enabled
|
||
IF NOT EXISTS (
|
||
SELECT 1 FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = 'nginxserver'
|
||
AND TABLE_NAME = 'forwarding_rules'
|
||
AND COLUMN_NAME = 'gzip_enabled'
|
||
) THEN
|
||
ALTER TABLE forwarding_rules
|
||
ADD COLUMN gzip_enabled TINYINT(1) DEFAULT 0
|
||
COMMENT 'gzip压缩开关: 0-关闭, 1-开启';
|
||
END IF;
|
||
|
||
-- gzip_types
|
||
IF NOT EXISTS (
|
||
SELECT 1 FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = 'nginxserver'
|
||
AND TABLE_NAME = 'forwarding_rules'
|
||
AND COLUMN_NAME = 'gzip_types'
|
||
) THEN
|
||
ALTER TABLE forwarding_rules
|
||
ADD COLUMN gzip_types VARCHAR(500)
|
||
DEFAULT 'text/plain text/css text/xml text/javascript application/x-javascript application/json application/xml application/xml+rss application/vnd.ms-fontobject application/x-font-ttf application/x-font-opentype application/x-font-truetype'
|
||
COMMENT 'gzip压缩MIME类型(空格分隔)';
|
||
END IF;
|
||
|
||
-- gzip_comp_level
|
||
IF NOT EXISTS (
|
||
SELECT 1 FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = 'nginxserver'
|
||
AND TABLE_NAME = 'forwarding_rules'
|
||
AND COLUMN_NAME = 'gzip_comp_level'
|
||
) THEN
|
||
ALTER TABLE forwarding_rules
|
||
ADD COLUMN gzip_comp_level TINYINT DEFAULT 6
|
||
COMMENT 'gzip压缩级别 1-9';
|
||
END IF;
|
||
|
||
-- gzip_min_length
|
||
IF NOT EXISTS (
|
||
SELECT 1 FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = 'nginxserver'
|
||
AND TABLE_NAME = 'forwarding_rules'
|
||
AND COLUMN_NAME = 'gzip_min_length'
|
||
) THEN
|
||
ALTER TABLE forwarding_rules
|
||
ADD COLUMN gzip_min_length VARCHAR(10) DEFAULT '1000'
|
||
COMMENT 'gzip最小压缩长度(可带k/m单位)';
|
||
END IF;
|
||
END$$
|
||
DELIMITER ;
|
||
|
||
-- 执行存储过程
|
||
CALL add_gzip_columns();
|
||
|
||
-- 清理
|
||
DROP PROCEDURE IF EXISTS add_gzip_columns;
|
||
|
||
-- 验证结果
|
||
SELECT COLUMN_NAME, COLUMN_TYPE, COLUMN_DEFAULT, COLUMN_COMMENT
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = 'nginxserver'
|
||
AND TABLE_NAME = 'forwarding_rules'
|
||
AND COLUMN_NAME LIKE 'gzip%';
|