SuperAPI AI 工具集

supabase-known-pitfalls

编程与开发

查看项目

更新于 10-16 06:20

技能介绍

用途:在审查 Supabase 代码、新人上手、审计现有项目或调试异常行为时,按严重程度自上而下排查十二个最常见错误,先修复全部 Critical 项再继续。

主要能力:安全类(service_role 密钥出现在客户端、表未启用 RLS、RLS 策略过于宽松、无连接池);数据完整性类(忽略 { data, error }、变更后缺少 .select()、对可选结果使用 .single());性能与可维护性类(select('*')、N+1 查询、外键列缺索引、多个客户端实例、手写数据库类型)。每项给出错误代码、失败原因与基于 @supabase/supabase-js 的 createClient 正确模式。

使用方式:按严重程度逐项处理。安全上区分信任边界,浏览器用 anon key,服务端用 service_role 且不加 NEXT_PUBLIC_ 前缀;确认所有表启用 RLS,将 USING (true) 收紧为 auth.uid(),无服务器环境使用池化连接串(Supavisor,端口 6543)。数据完整性上解构 { data, error } 并先检查 error,变更后链式调用 .select('cols'),可选查询用 .maybeSingle()。性能上明确列名、用 PostgREST 内嵌关联替代 N+1、为外键建索引、共享单例客户端、用 supabase gen types typescript --linked 生成类型。

适用场景:代码审查、项目审计、新人培训、故障排查。

限制:需可访问 Supabase 项目代码库、已安装 @supabase/supabase-js v2+ 并了解 RLS;完整逐字错误/正确代码与检测查询位于 references/pitfalls.md,更多失败模式见 references/errors.md,检测单行命令见 references/examples.md。具体收费与平台信息暂未提供。