hyapp-server/scripts/mysql/073_vip_user_settings_defaults.sql
2026-07-21 10:54:32 +08:00

31 lines
1.1 KiB
SQL

SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
USE hyapp_wallet;
-- 067 已可能在生产执行,因此本迁移只修改后续 INSERT 使用的列默认,
-- 不 UPDATE 任何现有行。五列在一条 INSTANT DDL 中更新,只改数据字典,
-- 也不会把用户已明确选择的 true/false 重置成新产品默认。
SET @ddl := IF(
(SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'user_vip_settings'
AND COLUMN_NAME IN (
'room_entry_notice_enabled',
'online_global_notice_enabled',
'hide_profile_data_enabled',
'anonymous_profile_visit_enabled',
'leaderboard_invisible_enabled'
)) = 5,
'ALTER TABLE user_vip_settings
ALTER COLUMN room_entry_notice_enabled SET DEFAULT TRUE,
ALTER COLUMN online_global_notice_enabled SET DEFAULT TRUE,
ALTER COLUMN hide_profile_data_enabled SET DEFAULT FALSE,
ALTER COLUMN anonymous_profile_visit_enabled SET DEFAULT FALSE,
ALTER COLUMN leaderboard_invisible_enabled SET DEFAULT FALSE,
ALGORITHM=INSTANT',
'SELECT 1'
);
PREPARE stmt FROM @ddl;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;