跳到主要内容

Supabase 同步

使用免费的 PostgreSQL 云数据库同步数据。

什么是 Supabase?

Supabase 是一个开源的 Firebase 替代品,提供免费的 PostgreSQL 数据库和对象存储。

优势

  • ✅ 免费额度充足(500MB 数据库 + 1GB 存储)
  • ✅ 跨平台(iOS/Android)
  • ✅ 实时同步
  • ✅ 数据完全可控

配置步骤

1. 注册 Supabase

访问 supabase.com 注册账号。

2. 创建项目

  1. 点击「New Project」
  2. 输入项目名称
  3. 设置数据库密码
  4. 选择区域(推荐选择亚洲)
  5. 创建项目

3. 创建 Storage Bucket

  1. 在左侧菜单点击「Storage」
  2. 点击「New bucket」
  3. 输入 bucket 名称:beecount-backups
  4. 不要勾选 Public bucket(保持 Private)
  5. 创建 bucket

4. 配置 RLS 策略

为了让 App 能正常读写数据,需要配置 RLS(行级安全)策略,确保用户只能访问自己的数据:

  1. 进入「Storage」→ 选择 beecount-backups bucket
  2. 点击「Policies」标签
  3. 分别创建以下 4 条策略:
策略名称操作类型
Allow user SELECTSELECT
Allow user INSERTINSERT
Allow user UPDATEUPDATE
Allow user DELETEDELETE

每条策略的配置方式相同:

  • Target roles: 选择 authenticated
  • Policy definition: 输入以下表达式
((bucket_id = 'beecount-backups'::text) AND ((storage.foldername(name))[1] = 'users'::text) AND ((storage.foldername(name))[2] = (auth.uid())::text))

此策略确保用户只能访问 beecount-backups/users/<自己的用户ID>/ 路径下的文件。

5. 获取配置信息

在「Project Settings」→「API」中找到:

  • Project URL - 项目地址
  • anon public key - 公开密钥

6. 配置蜜蜂记账

  1. 进入「我的」→「云服务」
  2. 选择「Supabase」
  3. 输入 Project URL
  4. 输入 anon key
  5. 输入 Storage Name:beecount-backups
  6. 保存并测试连接

注意事项

  • 免费版有一定限制,个人使用足够
  • 长期不活跃的项目可能被暂停(7 天内登录即可恢复)
  • 建议定期导出数据备份