Supabase:开源 Firebase 替代方案完全指南
latte-girl·
Supabase数据库后端教程
什么是 Supabase?
Supabase 是一个开源的 Firebase 替代方案,提供:
- PostgreSQL 数据库
- 实时订阅
- 身份认证
- 存储服务
- Edge Functions
快速开始
1. 创建项目
访问 supabase.com 创建项目。
2. 安装 SDK
npm install @supabase/supabase-js3. 初始化客户端
import { createClient } from '@supabase/supabase-js'
const supabase = createClient(
'YOUR_SUPABASE_URL',
'YOUR_ANON_KEY'
)数据库操作
查询数据
const { data, error } = await supabase
.from('posts')
.select('*')
.order('created_at', { ascending: false })插入数据
const { data, error } = await supabase
.from('posts')
.insert({ title: 'Hello', content: 'World' })实时订阅
supabase
.channel('posts')
.on('postgres_changes',
{ event: '*', schema: 'public', table: 'posts' },
(payload) => console.log(payload)
)
.subscribe()身份认证
// 注册
await supabase.auth.signUp({
email: 'user@example.com',
password: 'password123'
})
// 登录
await supabase.auth.signInWithPassword({
email: 'user@example.com',
password: 'password123'
})Row Level Security
-- 只允许用户访问自己的数据
CREATE POLICY "Users can view own data"
ON posts FOR SELECT
USING (auth.uid() = user_id);为什么选择 Supabase?
| 特性 | Firebase | Supabase |
|---|---|---|
| 数据库 | NoSQL | PostgreSQL |
| 开源 | ❌ | ✅ |
| 自托管 | ❌ | ✅ |
| 实时 | ✅ | ✅ |
| Auth | ✅ | ✅ |
Supabase 是构建现代应用的绝佳选择!