From 17f7ba6422635afdb5ecd7f023d819429c2af42c Mon Sep 17 00:00:00 2001 From: shanshanzhong Date: Wed, 27 May 2026 07:26:53 -0700 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D(#69):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E9=99=90=E9=80=9F=E8=A6=86=E7=9B=96=E8=BF=81=E7=A7=BB=E5=85=BC?= =?UTF-8?q?=E5=AE=B9=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: multica-agent --- .../02153_user_subscribe_speed_limit.down.sql | 38 +++++++++++++++++-- .../02153_user_subscribe_speed_limit.up.sql | 38 +++++++++++++++++-- 2 files changed, 70 insertions(+), 6 deletions(-) diff --git a/initialize/migrate/database/02153_user_subscribe_speed_limit.down.sql b/initialize/migrate/database/02153_user_subscribe_speed_limit.down.sql index 97891f8..d46dfea 100644 --- a/initialize/migrate/database/02153_user_subscribe_speed_limit.down.sql +++ b/initialize/migrate/database/02153_user_subscribe_speed_limit.down.sql @@ -1,3 +1,35 @@ -ALTER TABLE `user_subscribe` - DROP COLUMN IF EXISTS `speed_limit`, - DROP COLUMN IF EXISTS `traffic_limit`; +SET @traffic_limit_exists = ( + SELECT COUNT(*) + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() + AND TABLE_NAME = 'user_subscribe' + AND COLUMN_NAME = 'traffic_limit' +); + +SET @traffic_limit_sql = IF( + @traffic_limit_exists = 1, + 'ALTER TABLE `user_subscribe` DROP COLUMN `traffic_limit`', + 'SELECT 1' +); + +PREPARE traffic_limit_stmt FROM @traffic_limit_sql; +EXECUTE traffic_limit_stmt; +DEALLOCATE PREPARE traffic_limit_stmt; + +SET @speed_limit_exists = ( + SELECT COUNT(*) + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() + AND TABLE_NAME = 'user_subscribe' + AND COLUMN_NAME = 'speed_limit' +); + +SET @speed_limit_sql = IF( + @speed_limit_exists = 1, + 'ALTER TABLE `user_subscribe` DROP COLUMN `speed_limit`', + 'SELECT 1' +); + +PREPARE speed_limit_stmt FROM @speed_limit_sql; +EXECUTE speed_limit_stmt; +DEALLOCATE PREPARE speed_limit_stmt; diff --git a/initialize/migrate/database/02153_user_subscribe_speed_limit.up.sql b/initialize/migrate/database/02153_user_subscribe_speed_limit.up.sql index ae207a8..f7b4673 100644 --- a/initialize/migrate/database/02153_user_subscribe_speed_limit.up.sql +++ b/initialize/migrate/database/02153_user_subscribe_speed_limit.up.sql @@ -1,3 +1,35 @@ -ALTER TABLE `user_subscribe` - ADD COLUMN IF NOT EXISTS `speed_limit` BIGINT NOT NULL DEFAULT 0 COMMENT 'User-level speed limit override (Mbps), 0 uses plan-level', - ADD COLUMN IF NOT EXISTS `traffic_limit` TEXT DEFAULT NULL COMMENT 'User-level traffic limit override (JSON), NULL uses plan-level'; +SET @speed_limit_exists = ( + SELECT COUNT(*) + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() + AND TABLE_NAME = 'user_subscribe' + AND COLUMN_NAME = 'speed_limit' +); + +SET @speed_limit_sql = IF( + @speed_limit_exists = 0, + 'ALTER TABLE `user_subscribe` ADD COLUMN `speed_limit` BIGINT NOT NULL DEFAULT 0 COMMENT ''User-level speed limit override (Mbps), 0 uses plan-level'' AFTER `upload`', + 'SELECT 1' +); + +PREPARE speed_limit_stmt FROM @speed_limit_sql; +EXECUTE speed_limit_stmt; +DEALLOCATE PREPARE speed_limit_stmt; + +SET @traffic_limit_exists = ( + SELECT COUNT(*) + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() + AND TABLE_NAME = 'user_subscribe' + AND COLUMN_NAME = 'traffic_limit' +); + +SET @traffic_limit_sql = IF( + @traffic_limit_exists = 0, + 'ALTER TABLE `user_subscribe` ADD COLUMN `traffic_limit` TEXT DEFAULT NULL COMMENT ''User-level traffic limit override (JSON), NULL uses plan-level'' AFTER `speed_limit`', + 'SELECT 1' +); + +PREPARE traffic_limit_stmt FROM @traffic_limit_sql; +EXECUTE traffic_limit_stmt; +DEALLOCATE PREPARE traffic_limit_stmt;