From c62afd3d02e63b2cb3d6b644cb16aaa48183c7f5 Mon Sep 17 00:00:00 2001 From: zhx Date: Tue, 9 Jun 2026 11:44:04 +0800 Subject: [PATCH] fix activity display profile migration --- ...activity_display_profile_badge_sources.sql | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 server/admin/migrations/041_activity_display_profile_badge_sources.sql diff --git a/server/admin/migrations/041_activity_display_profile_badge_sources.sql b/server/admin/migrations/041_activity_display_profile_badge_sources.sql new file mode 100644 index 00000000..3b740c99 --- /dev/null +++ b/server/admin/migrations/041_activity_display_profile_badge_sources.sql @@ -0,0 +1,29 @@ +SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci; + +-- activity-service 处理 RoomGiftSent 时会写入用户等级展示资料;老库缺少徽章来源等级列会导致 MQ 消费重试。 +SET @ddl := IF( + (SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'hyapp_activity' AND TABLE_NAME = 'user_level_display_profiles' AND COLUMN_NAME = 'wealth_badge_source_level') = 0, + 'ALTER TABLE hyapp_activity.user_level_display_profiles ADD COLUMN wealth_badge_source_level INT NOT NULL DEFAULT 0 COMMENT ''财富徽章来源等级'' AFTER wealth_badge_resource_id', + 'SELECT 1' +); +PREPARE stmt FROM @ddl; +EXECUTE stmt; +DEALLOCATE PREPARE stmt; + +SET @ddl := IF( + (SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'hyapp_activity' AND TABLE_NAME = 'user_level_display_profiles' AND COLUMN_NAME = 'game_badge_source_level') = 0, + 'ALTER TABLE hyapp_activity.user_level_display_profiles ADD COLUMN game_badge_source_level INT NOT NULL DEFAULT 0 COMMENT ''游戏徽章来源等级'' AFTER game_badge_resource_id', + 'SELECT 1' +); +PREPARE stmt FROM @ddl; +EXECUTE stmt; +DEALLOCATE PREPARE stmt; + +SET @ddl := IF( + (SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'hyapp_activity' AND TABLE_NAME = 'user_level_display_profiles' AND COLUMN_NAME = 'charm_badge_source_level') = 0, + 'ALTER TABLE hyapp_activity.user_level_display_profiles ADD COLUMN charm_badge_source_level INT NOT NULL DEFAULT 0 COMMENT ''魅力徽章来源等级'' AFTER charm_badge_resource_id', + 'SELECT 1' +); +PREPARE stmt FROM @ddl; +EXECUTE stmt; +DEALLOCATE PREPARE stmt;