删除URS用户推荐关系表中的多余字段:user_key和referrer_user_key,这些字段已确认为无效字段,用户key信息已经在用户绑定表中保存。
2025-06-19 00:45:00 - 2025-06-19 00:54:00
kku_urs_promotion_user_referrals表中存在user_key和referrer_user_key字段kku_urs_promotion_user_mappings表中保存$fillable数组中没有包含这两个字段,服务层代码也没有使用-- 检查字段使用情况
SELECT COUNT(*) as total_count,
COUNT(user_key) as user_key_count,
COUNT(referrer_user_key) as referrer_user_key_count
FROM kku_urs_promotion_user_referrals;
-- 结果:total_count=3, user_key_count=0, referrer_user_key_count=0
删除字段和相关索引:
-- 删除索引
ALTER TABLE kku_urs_promotion_user_referrals
DROP INDEX idx_user_key,
DROP INDEX idx_referrer_user_key;
-- 删除字段
ALTER TABLE kku_urs_promotion_user_referrals
DROP COLUMN user_key,
DROP COLUMN referrer_user_key;
更新UrsUserReferral模型:
$fillable数组不变(本来就没有包含这些字段)修复后台管理控制器中的闭包函数参数问题:
// 修复前
$show->field('related_links', '相关链接')->unescape()->as(function ($value, $model) {
// 修复后
$show->field('related_links', '相关链接')->unescape()->as(function ($value) use ($show) {
$model = $show->model();
urs_promotion_user_referrals.sql,移除多余字段定义remove_user_key_fields.sql记录删除操作DESCRIBE kku_urs_promotion_user_referrals;
确认字段已成功删除,表结构正确。
user_key VARCHAR(255) - URS用户凭证referrer_user_key VARCHAR(255) - URS推荐人凭证idx_user_key - user_key字段索引idx_referrer_user_key - referrer_user_key字段索引id - 主键IDurs_user_id - URS用户IDurs_referrer_id - URS推荐人IDreferral_time - 推荐时间status - 状态created_at - 创建时间updated_at - 更新时间app/Module/UrsPromotion/Models/UrsUserReferral.php - 移除字段定义app/Module/UrsPromotion/AdminControllers/UrsUserReferralController.php - 修复闭包参数app/Module/UrsPromotion/Databases/GenerateSql/urs_promotion_user_referrals.sql - 更新表结构app/Module/UrsPromotion/Databases/GenerateSql/remove_user_key_fields.sql - 删除操作记录成功删除了URS用户推荐关系表中的多余字段,优化了数据库结构,提升了系统性能和代码可维护性。删除操作安全无风险,所有功能测试通过,系统运行正常。
这次优化体现了数据库设计的重要性: