为什么用 Drizzle 管理 Supabase 表结构
Supabase 自带 Table Editor 和 PostgREST,但一旦需要类型安全和可版本化的迁移,Drizzle 会更顺手。
Supabase 提供了两套使用方式:一是 @supabase/supabase-js,走 PostgREST 的 HTTPS 接口;二是直接连 Postgres,写真正的 SQL。 如果你只是做简单的增删改查,supabase-js 更省事,而且天然支持 RLS。但当查询开始变复杂——多表 join、聚合、分页优化——用 ORM 写起来会清晰很多。 Drizzle 的好处是它「只是 SQL 的类型包装」: - schema 用 TypeScript 描述,`drizzle-kit push` 直接同步到数据库 - 查询结果自带类型,不用手写 interface - 生成的 SQL 可预期,性能问题容易定位 代价是你要自己管理连接串,以及没有 RLS 的自动保护——如果用 service role 连接,行级安全对你是失效的,权限校验必须在应用层做。