| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- -- URS用户推荐关系表添加农场用户ID字段
- -- 执行时间: 2025-06-19 05:10:00
- -- 说明: 为URS用户推荐关系表添加农场用户ID字段,用于存储用户和推荐人的农场用户ID
- -- 注意: 字段位置在urs_referrer_id之后,referral_time之前
- -- =====================================================
- -- 1. 为URS用户推荐关系表添加农场用户ID字段(正确位置)
- -- =====================================================
- -- 如果字段已存在但位置不正确,先删除再重新添加
- -- ALTER TABLE `kku_urs_promotion_user_referrals` DROP COLUMN IF EXISTS `user_id`;
- -- ALTER TABLE `kku_urs_promotion_user_referrals` DROP COLUMN IF EXISTS `referrer_id`;
- -- 添加用户农场ID字段(在urs_referrer_id之后)
- ALTER TABLE `kku_urs_promotion_user_referrals`
- ADD COLUMN `user_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '农场用户ID(可能为0)' AFTER `urs_referrer_id`;
- -- 添加推荐人农场ID字段(在user_id之后)
- ALTER TABLE `kku_urs_promotion_user_referrals`
- ADD COLUMN `referrer_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '推荐人的农场用户ID(可能为0)' AFTER `user_id`;
- -- =====================================================
- -- 2. 添加索引优化查询性能
- -- =====================================================
- -- 添加用户农场ID索引
- ALTER TABLE `kku_urs_promotion_user_referrals`
- ADD INDEX `idx_user_id` (`user_id`);
- -- 添加推荐人农场ID索引
- ALTER TABLE `kku_urs_promotion_user_referrals`
- ADD INDEX `idx_referrer_id` (`referrer_id`);
- -- 添加组合索引用于推荐关系查询
- ALTER TABLE `kku_urs_promotion_user_referrals`
- ADD INDEX `idx_user_referrer` (`user_id`, `referrer_id`);
- -- =====================================================
- -- 3. 验证表结构
- -- =====================================================
- -- 查看表结构确认修改
- DESCRIBE `kku_urs_promotion_user_referrals`;
- -- 显示索引信息
- SHOW INDEX FROM `kku_urs_promotion_user_referrals`;
- -- =====================================================
- -- 4. 数据初始化说明
- -- =====================================================
- -- 注意:根据用户要求,不做兼容处理,没有历史数据
- -- 新字段默认值为0,表示尚未绑定农场用户
- -- 用户进入农场后,需要批量更新这些字段
- -- 示例更新语句(实际使用时需要在服务层实现):
- -- UPDATE `kku_urs_promotion_user_referrals` r
- -- INNER JOIN `kku_urs_promotion_user_mappings` um ON r.urs_user_id = um.urs_user_id
- -- INNER JOIN `kku_urs_promotion_user_mappings` rm ON r.urs_referrer_id = rm.urs_user_id
- -- SET
- -- r.user_id = um.user_id,
- -- r.referrer_id = rm.user_id
- -- WHERE r.status = 1
- -- AND um.status = 1
- -- AND rm.status = 1;
|