Supabase Database Skill 是一个面向 Supabase 数据库操作的技能,主要覆盖数据库查询、增删改查、行级安全策略(RLS)以及 PostgreSQL 函数。
用途 该技能用于在 Supabase 项目中执行数据库相关操作,包括查询表、管理数据、实现 RLS 访问控制,以及编写和调用 PostgreSQL 函数。文档同时给出 JavaScript 客户端与 SQL 两种写法的快速对照,方便在不同场景下选择。
主要能力
- 基础查询:支持查询全部行、指定列、带计数(count)的查询。
- 数据操作:支持插入单行与多行、更新、upsert、删除。
- 过滤:提供比较运算符(eq、neq、gt、gte、lt、lte)、模式匹配(like、ilike)、列表操作(in、contains、containedBy、overlaps)、范围操作(range、rangeGt、rangeLt)、空值检查(is、not)以及布尔组合(链式 AND、or、not)。
- 排序与分页:支持 order(含多字段排序)、limit、range 分页、single、maybeSingle。
- 关联查询(Joins):支持一对多、多对一、内连接(!inner)以及通过中间表实现的多对多查询。
- 行级安全策略(RLS):包括启用 RLS、为 SELECT/INSERT/UPDATE/DELETE 创建策略、使用 auth.uid()、auth.role()、auth.jwt() 等辅助函数,以及通过 SELECT 包裹鉴权函数和建立索引进行性能优化。
- RPC:支持通过 SQL 定义函数并用 supabase.rpc 调用。
- TypeScript 类型:支持通过命令生成类型,并在客户端中使用 Database 类型。
使用方式 文档以代码示例展示用法,涵盖 JavaScript 客户端(如 supabase.from('table').select('*'))与对应 SQL(如 SELECT * FROM table)。RLS 部分给出 SQL 建表策略示例;RPC 部分给出 SQL 函数定义与调用方式;类型部分给出生成命令 supabase gen types typescript --local > database.types.ts 及类型使用示例。
适用场景 适合需要在 Supabase 上查询数据、执行 CRUD、设计 RLS 访问控制、编写或调用 PostgreSQL 函数,以及为数据库操作添加 TypeScript 类型的开发场景。
限制 该资料未提供关于收费、价格、平台限制或具体效果的信息,相关内容暂未提供。