upgrade_to_v3_completed.sql 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. -- URS推广模块数据库升级完成记录
  2. -- 升级时间: 2025-06-15 18:01
  3. -- 升级版本: v3.0.0 (分离映射关系版本)
  4. -- 升级说明: 将字段名从user_id/referrer_id/promotion_member_id统一改为urs_user_id/urs_referrer_id/urs_promotion_member_id
  5. -- ========================================
  6. -- 升级内容概述
  7. -- ========================================
  8. -- 1. kku_urs_promotion_profits表升级
  9. -- - 添加字段: urs_user_id, urs_promotion_member_id, farm_user_id
  10. -- - 删除字段: user_id, promotion_member_id
  11. -- - 数据迁移: 将旧字段数据复制到新字段
  12. -- - 索引重建: 删除旧索引,添加新索引
  13. -- 2. kku_urs_promotion_user_referrals表升级
  14. -- - 添加字段: urs_user_id, urs_referrer_id
  15. -- - 删除字段: user_id, referrer_id
  16. -- - 数据迁移: 将旧字段数据复制到新字段
  17. -- - 索引重建: 删除旧索引,添加新索引
  18. -- 3. kku_urs_promotion_user_talents表升级
  19. -- - 添加字段: urs_user_id
  20. -- - 删除字段: user_id
  21. -- - 数据迁移: 将旧字段数据复制到新字段
  22. -- - 索引重建: 删除旧索引,添加新索引
  23. -- 4. 模型关系修复
  24. -- - UrsProfit模型: 修复关系定义,使用新的字段名
  25. -- - UrsUserTalent模型: 修复关系定义,使用新的字段名
  26. -- - 添加新的关系方法: userMapping(), promotionMemberMapping(), farmUser()
  27. -- ========================================
  28. -- 升级后的表结构验证
  29. -- ========================================
  30. -- 验证kku_urs_promotion_user_mappings表 (无变化)
  31. -- 字段: id, urs_user_id, user_id, mapping_time, status, created_at, updated_at
  32. -- 验证kku_urs_promotion_user_referrals表 (已升级)
  33. -- 字段: id, urs_user_id, urs_referrer_id, referral_code, referral_time, status, created_at, updated_at
  34. -- 验证kku_urs_promotion_user_talents表 (已升级)
  35. -- 字段: id, urs_user_id, talent_level, direct_count, indirect_count, third_count, promotion_count, last_level_update_time, created_at, updated_at
  36. -- 验证kku_urs_promotion_profits表 (已升级)
  37. -- 字段: id, urs_user_id, urs_promotion_member_id, source_id, source_type, profit_type, relation_level, original_amount, profit_amount, profit_rate, reward_group_id, talent_level, farm_user_id, status, created_at, updated_at
  38. -- 验证kku_urs_promotion_talent_configs表 (无变化)
  39. -- 字段: id, level, name, direct_count_required, promotion_count_required, icon, description, sort_order, status, created_at, updated_at, promotion_direct_group, promotion_indirect_group, promotion_third_group, planting_direct_rate, planting_indirect_rate, planting_third_rate
  40. -- ========================================
  41. -- 升级验证查询
  42. -- ========================================
  43. -- 验证所有表是否存在
  44. SELECT 'Tables Check' as check_type;
  45. SHOW TABLES LIKE 'kku_urs_promotion_%';
  46. -- 验证关键字段是否存在
  47. SELECT 'Fields Check' as check_type;
  48. SELECT
  49. 'user_mappings' as table_name,
  50. COUNT(*) as field_count
  51. FROM information_schema.COLUMNS
  52. WHERE TABLE_SCHEMA = DATABASE()
  53. AND TABLE_NAME = 'kku_urs_promotion_user_mappings'
  54. AND COLUMN_NAME IN ('urs_user_id', 'user_id');
  55. SELECT
  56. 'user_referrals' as table_name,
  57. COUNT(*) as field_count
  58. FROM information_schema.COLUMNS
  59. WHERE TABLE_SCHEMA = DATABASE()
  60. AND TABLE_NAME = 'kku_urs_promotion_user_referrals'
  61. AND COLUMN_NAME IN ('urs_user_id', 'urs_referrer_id');
  62. SELECT
  63. 'user_talents' as table_name,
  64. COUNT(*) as field_count
  65. FROM information_schema.COLUMNS
  66. WHERE TABLE_SCHEMA = DATABASE()
  67. AND TABLE_NAME = 'kku_urs_promotion_user_talents'
  68. AND COLUMN_NAME = 'urs_user_id';
  69. SELECT
  70. 'profits' as table_name,
  71. COUNT(*) as field_count
  72. FROM information_schema.COLUMNS
  73. WHERE TABLE_SCHEMA = DATABASE()
  74. AND TABLE_NAME = 'kku_urs_promotion_profits'
  75. AND COLUMN_NAME IN ('urs_user_id', 'urs_promotion_member_id', 'farm_user_id');
  76. -- ========================================
  77. -- 升级状态
  78. -- ========================================
  79. -- 状态: 已完成
  80. -- 数据完整性: 已验证
  81. -- 模型关系: 已修复
  82. -- 索引优化: 已完成
  83. -- 备份状态: 用户已备份数据库
  84. -- 注意事项:
  85. -- 1. 本次升级已完成数据迁移,旧字段已删除
  86. -- 2. 模型关系已更新,使用新的字段名
  87. -- 3. 所有索引已重建,查询性能不受影响
  88. -- 4. 升级过程中保持了数据完整性
  89. -- 5. 建议在生产环境使用前进行充分测试