EasyApp

部署 Supabase 后端服务

了解如何在配置 Supabase 后端服务

为什么选择 Supabase 云函数?

使用 Supabase 云函数 作为 AI 服务的中间层有以下显著优势:

节省成本

无需额外的服务器维护成本,按需付费模式

API 安全

API Key 安全存储在服务端,避免客户端抓包风险

用户管理

轻松获取用户信息,便于权限控制和数据管理

简介

easyapp-supabase 模板作为 EasyAppSwiftUI 的后端/服务端模板,已经集成了 Supabase 云函数,本指南将告诉您如何在 easyapp-supabase 项目中集成、开发、测试和部署 Edge Function。

Supabase 云函数 项目位于 easyapp-subapase 仓库中。

同样的,您可以按照 EasyAppSwiftUI 的方式来 下载项目。 先 fork 仓库,然后 clone 项目到您的电脑。

该模板提供了非常方便的部署功能、数据库迁移功能、Edge Function 的开发、测试和部署功能。

项目结构

easyapp-supabase 项目已经配置好了 Supabase,具有以下结构:

config.toml
.env.local
每个服务端接口

EasyApp 已经内置好了 EasyAppSwiftUI App 端所需的表、存储桶、接口,所有您可以直接执行以下命令来部署到生产环境,在这之前,您需要安装 Supabase CLI

cd easyapp-subapase
npm run deploy

1. 环境准备

安装 Supabase CLI

我们推荐使用 Supabase CLI 来管理 Supabase 服务。

npm install supabase --save-dev

更多Supabase CLI 使用方法,请参考Supabase CLI 文档

验证安装

npx supabase --version

登录 Supabase

npx supabase login

登录过程中,请按照提示操作。

查看项目列表

npx supabase projects list

连接项目

npx supabase link --project-ref YOUR_PROJECT_ID

YOUR_PROJECT_ID 是您在 Supabase Dashboard 上的项目 ID,可以在这里找到 Supabase_projectID

如果您对 Supabase 云函数 不太熟悉,强烈建议您直接部署到生产环境,在线上环境做测试。这样您就可以避免本地开发环境的复杂性,直接在生产环境做测试。

2. 部署到生产环境(推荐)

  1. 自动部署(推荐)

在easyapp-supabase中我们已经内置好了部署脚本,您只需要执行以下命令即可,可以把该 Supabase 模板功能部署到生产环境。

cd easyapp-subapase
npm run deploy

npm run deploy 会自动部署所有 Edge Function 和数据库到生产环境。

我们还提供了其他部署命令,您可以参考以下命令:

"migrate": "supabase db push", // 迁移数据库
"functions:deploy": "supabase functions deploy", // 部署函数
"functions:logs": "supabase functions logs", // 查看函数日志
"start": "supabase start", // 启动本地服务(如果本地服务未启动)
"stop": "supabase stop", // 停止本地服务
"reset": "supabase db reset", // 重置数据库
"status": "supabase status" // 查看服务状态

每当您修改了表或数据库,您需要执行以下命令来迁移数据库。

npm run migrate

每当您修改了/新增 Edge Function,您需要执行以下命令来部署函数。

npm run functions:deploy

或者您直接执行 npm run deploy,可以同时部署数据库和函数。

部署成功之后,您还需要在 Edge Function 中添加环境变量。

sup-secrets

如何获取,请看下面:

  • 获取 Supabase URL。点击顶部导航栏的 "Connect" 按钮。在弹窗中选中 Mobile Framework,选中 Framework 中的 Swift。复制 supabaseURL。 connnect

copySupabaseUrl

  • 获取 Supabase API key。点击侧边栏 "Project Settings" 按钮,点击 "API Keys" 按钮。点击 "Copy" 按钮。

复制 service_rolesup-secrets2

获取到 urlservice_role之后,填入对应的SUPABASE_URLSUPABASE_SERVICE_ROLE_KEY

到这里,您已经在您的 Supabasse项目中启动了后端服务。后面的内容就不需要在看了。接下来,我们需要去配置 Apple 登录和用户注册/登录流程。

Last updated on