用途:这是 Supabase 的第一个查询练习,用于在新项目起步时验证连接是否可用。流程分三步:在仪表盘 SQL Editor 建表、用 JS 客户端插入一行、再读回确认往返成功。
前置条件:已完成 supabase-install-auth 配置(.env 中有项目 URL 与 anon key);已安装 @supabase/supabase-js v2+(npm install @supabase/supabase-js);拥有 supabase.com/dashboard 上的项目。
主要能力:建表 SQL 会创建 public.todos(id、task、is_complete、inserted_at),启用行级安全并添加允许公开读取与插入的策略;插入时需链式调用 .select(),否则 .insert() 只返回 { data: null };读取用 .select('*') 并可在仪表盘 Table Editor 目视确认。
常见错误与处理:relation "public.todos" does not exist 表示表未创建;new row violates row-level security policy 表示 RLS 拦截插入,需补策略;Invalid API key 表示 anon key 有误;FetchError 表示项目 URL 不对;插入后 data 为 null 表示缺少 .select();select 返回空数组表示 RLS 拦截读取。
限制:示例中的 using (true) / with check (true) 策略仅供练习,上线前必须替换为按用户的行级安全规则,否则任何持有 anon key 的人都能访问该表。后续可进入 supabase-local-dev-loop 学习本地开发流程。Python 客户端需 pip install supabase。