dev.to | 📄 原文链接 | 2026-08-26 收录

我 12 岁,我的推荐系统沉睡了 3 天——这是唤醒它的 SQL 触发器

来源:dev.to — 2026-08-25

📋 概述

12 岁的 Harun 打开数据库期待看到增长故事,却发现了谜团:8 个用户、0 个推荐、0 个大使——他引以为傲的「邀请好友解锁黄金模式」循环从未触发过,没有任何报错,只有沉默。他排查出两个 bug:其一,客户端只在账号注册不足 10 分钟时附加推荐人,但真实用户通常是几小时后再点确认邮件登录,于是推荐每次都静默失效——修复是放宽到 48 小时窗口;其二,客户端只写了被推荐人的 referred_by 字段,却从没给推荐人加计数或切换大使状态,而且行级安全本来就不允许从客户端改别人的行——修复是把逻辑移进数据库,用一个 security definer 触发器自动给推荐人升级。

🔑 核心要点

💡 金句

静默失败才是最糟的失败。
← 返回 dev.to 首页