Files
nginxserver/sql/gzip_migration.sql
2026-07-16 13:03:11 +08:00

79 lines
2.6 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ============================================
-- 内容压缩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%';