概览
Supabase 是一个开源的 Firebase 替代方案,提供托管式 PostgreSQL 数据库,具备实时功能、用户身份验证、文件存储以及无服务器函数。通过将 Supabase 连接到你的 Lovable 应用,你可以立即获得一个可用于生产环境的后端,而无需编写任何样板代码或手动配置服务器。Supabase 直观的 Web 控制台让你可以轻松管理数据和用户,而其强大的 SQL 基础则确保你能够充分发挥 PostgreSQL 数据库的全部性能和可扩展性。
通过 Supabase 集成解锁的关键功能:
- 数据库(PostgreSQL) – 使用完整的 SQL 支持来存储和查询你的应用数据。Lovable 可以根据你的提示自动生成所需的数据表和表结构(schema)。
- 用户认证 – 安全管理用户注册、登录和访问控制。Lovable 可以通过一个简单的提示,将预构建的认证流程(邮箱/密码等)添加到你的应用中。
- 文件存储 – 通过 Supabase Storage 上传并提供图片或其他文件的访问。非常适合用户头像、文件上传,或你的应用需要处理的任何静态媒体。
- 实时更新 – Supabase 可以将实时数据变更推送到你的应用。这可以实现诸如实时聊天、活动动态,或可为所有用户即时更新的协作型仪表盘等功能。
- Edge Functions(Serverless) – 在 Supabase 的基础设施上运行自定义后端逻辑(使用 JavaScript/TypeScript)。Lovable 会为发送邮件、处理支付或与外部 API 集成等任务创建并部署这些函数。
为什么要使用 Lovable 的 Supabase 集成?
入门:将 Supabase 连接到 Lovable
将 Supabase 连接到 Lovable
在 Lovable 中发起 Supabase 连接
在项目编辑器中,进入项目设置。在 Integrations 下找到 Supabase 标签页。点击 Connect Supabase。Lovable 会提示你登录 Supabase 账号。登录你的 Supabase 账号并授权 Lovable。
授权并选择或创建项目
接下来,你需要选择一个要与 Lovable 应用关联的 Supabase organization 和 project。你可以选择一个已有项目,或者现场创建一个新项目(如果需要,Lovable 的聊天窗口会引导你创建一个新的 Supabase 项目)。
添加用户身份验证
邮箱和密码(基础设置)
示例提示:
- 通过应用内的注册表单: 使用应用中新添加的界面来注册用户(这会与 Supabase 通信以创建账号)。
- 通过 Supabase Dashboard: 前往你的 Supabase 项目的仪表盘,进入 Authentication > Users,手动添加一个新用户(邮箱和密码)。这对于快速创建测试账号非常方便。
Supabase 支持 Google、GitHub、Twitter 等 OAuth 登录方式。你也可以将这些集成到你的 Lovable 应用中:
- 在 Supabase 中启用提供方: 在你的 Supabase 控制台中,进入 Authentication > Providers。你会看到一个外部登录提供方列表。切换开启 Google(例如),然后按照说明填写来自 Google 的必需 OAuth Client ID 和 Secret。(Supabase 会引导你如何从 Google 的开发者控制台获取这些凭据。) 保存设置后,你的 Supabase 项目现在就知道如何处理 Google 登录了。
- 更新你的 Lovable 应用 UI: 接下来,你可以向 Lovable 提示添加社交登录选项。例如:“在登录页面添加一个 ‘Sign in with Google’ 按钮。” Lovable 会修改认证页面,添加 Google 登录按钮,以及通过 Supabase 发起 OAuth 流程所需的代码。
使用 Supabase 管理数据
通过 Lovable 创建数据库表
描述你需要的功能和数据
在 Lovable 的聊天中,请求一个涉及数据存储的功能。例如,你可以说:“添加一个反馈表单,并将回复保存到一个数据库表中。” 尽可能清楚地说明你想存储哪些数据(例如带有消息和评分的用户反馈,或包含名称、价格等信息的库存项)。Lovable 会根据这些信息确定需要怎样的数据库结构。
查看生成的 SQL 代码片段
Lovable 的 AI 会给出对你应用的更新建议。由于你的请求涉及数据存储,Lovable 还会生成一个 SQL schema 代码片段——本质上就是在 Supabase 中创建所需表或列的命令。例如,它可能会说:“我将创建一个表
feedback,包含列 id、message_ 和 rating”_,并提供相应的 SQL 代码。这个代码片段会出现在聊天或侧边栏中,方便你复制。在 Supabase 中运行 SQL
打开你的 Supabase 控制台,进入 SQL Editor。将来自 Lovable 的 SQL 代码片段粘贴进去并执行,这将在你的数据库中创建新表(或修改现有表)。你可以在 Supabase 的 Table Editor 中确认该表已经创建,并且包含指定的列。
posts 表(包含标题、内容、作者、时间戳等字段),提供将其添加到 Supabase 的 SQL,然后将前端表单和页面与该表连接起来。
Supabase 的控制台提供了功能丰富的界面来管理你的数据。你可以在类似电子表格的 UI 中查看和编辑表行,定义表之间的关系,甚至从 CSV 或 Excel 导入数据。在底层,它完全基于 PostgreSQL——这意味着你可以根据需要执行复杂查询或使用各种 SQL 特性。Supabase 甚至在其 SQL 编辑器中提供了 AI SQL Assistant,如果你不熟悉 SQL,它可以帮助你编写查询。这对于高级分析或故障排查非常有用。
文件存储(图片和媒体)
假设你的应用有用户个人资料功能,并且你希望用户可以添加头像。你可以这样提示 Lovable:“在账号设置页面添加一个头像上传功能。” Lovable 会创建用于上传图片的 UI。得益于 Supabase 集成,当用户上传文件时,它会被保存到你的 Supabase Storage 中(位于某个存储桶中,例如
public/avatar-images),并且 Lovable 会负责获取该图片 URL,在你的应用中显示头像。所有这一切都无需你编写任何与存储相关的代码。存储机密信息(API 密钥和配置)
使用 Edge Functions 实现后端逻辑
有时你的应用需要的不仅是基础数据 CRUD(Create, Read, Update, Delete),还需要自定义的后端逻辑。Supabase Edge Functions 是无服务器函数(类似于 AWS Lambda),可以在后端被事件或请求触发来执行代码。借助 Lovable 与 Supabase 的集成,你可以用自然语言描述期望的后端行为,Lovable 会为你编写并部署所需的 Edge Function 代码到 Supabase。
在 Lovable 中,Edge Functions 的典型用例包括:
- 使用 AI 服务: 例如,使用 OpenAI 或 Anthropic 的 API 处理某些输入(API 密钥按上文所述作为机密存储)。
- 发送邮件或通知: 例如,当用户注册时,通过像 Resend 这样的邮件 API 发送欢迎邮件。
- 处理支付: 例如,使用 Stripe 的 API 创建结账会话或完成订单。
- 定时任务: 例如,每小时/每天执行一次清理或汇总任务(Supabase Edge Functions 可以按计划触发)。
- 复杂计算或第三方集成: 任何你不希望在客户端运行的代码,都可以放在 Edge Function 中完成。
常见问题
Supabase 集成究竟能帮你做什么?
Supabase 集成究竟能帮你做什么?
它为你的 Lovable 应用提供一个完全托管的后端服务。没有它,Lovable 依然可以帮你构建 UI,但你将没有开箱即用的数据持久化或用户管理能力。连接 Supabase 之后,Lovable 可以创建用户账户(认证)、在数据库中存储和读取数据、上传文件、运行服务端代码等——而且这些都会自动完成。本质上,Supabase 为你的应用提供底层的数据库和服务器,而 Lovable 则通过提示来驱动它们。
我需要分别为 Lovable 和 Supabase 创建账户吗?
我需要分别为 Lovable 和 Supabase 创建账户吗?
是的。Lovable 和 Supabase 是两个独立的平台。除了你的 Lovable 账号之外,你还需要一个 Supabase 账号(用于托管你的数据库)。好消息是,这两个平台都有免费套餐,所以你可以零成本开始使用。只要记住,如果你之后为获取更高用量或更多功能而升级,你需要分别处理每项服务的计费。
如何将 Lovable 连接到 Supabase?
如何将 Lovable 连接到 Supabase?
- 在 Lovable 编辑器中,转到 Integrations 部分。
- 点击 Connect to Supabase,并按照身份验证步骤操作。
- 如有需要,可在 Lovable 中新建一个 Supabase 项目。
- Lovable 会自动生成所需的数据库 schema,并将其连接到你的项目。
我可以将已连接 Supabase 的 Lovable 应用与外部自动化工具集成吗?
我可以将已连接 Supabase 的 Lovable 应用与外部自动化工具集成吗?
当然可以。使用 Lovable + Supabase 时,你的数据会存储在 Supabase 的数据库中,而 Supabase 还会为你的数据表自动生成 RESTful API(以及对应的客户端库)。这意味着你可以使用 Zapier、Make.com 或任何其他服务,通过 HTTP 请求与应用的后端数据进行交互。比如,Zapier 可以从你应用的某个 Supabase 数据表中读取记录或写入新记录。此外,你还可以使用 Supabase 的 Edge Functions(Lovable 可以帮你创建)来定义自定义 API 端点,以触发更复杂的自动化流程。总之,集成第三方自动化服务是完全可行的——只是可能需要对 Supabase 的 API 密钥或 webhook 做一些额外配置。
当我的应用发展壮大时,Supabase 的扩展能力如何?
当我的应用发展壮大时,Supabase 的扩展能力如何?
Supabase 构建在 PostgreSQL 之上,能够处理海量数据和高访问量。开箱即用时,你的免费数据库就可以应对相当可观的工作负载(数百万行数据、多路并发连接)。随着需求增长,你可以升级 Supabase 套餐,以获得更多存储空间、更高吞吐量和更多功能。许多生产环境的应用完全运行在 Supabase 上,因此你可以放心使用。只要留意免费层的使用上限(Supabase 会在其网站上详细说明),如果接近这些上限,就要提前规划扩容。
如何为我的应用添加像聊天或实时动态这样的实时功能?
如何为我的应用添加像聊天或实时动态这样的实时功能?
Supabase 为你的数据库内置了实时订阅功能。这意味着你的应用可以监听特定数据表上的更改(插入、更新、删除),并立刻做出响应。要利用这一点,你可以照常设计 Lovable 应用的功能(例如,一个将消息写入
messages 表的聊天室)。Lovable 了解 Supabase 的实时能力,因此可以在前端设置对该数据表变更的订阅。在实际使用中,当你创建好一个用于存储聊天消息的数据表后,你可以向 Lovable 提示 “enable real-time updates for the chat”,它会在底层使用 Supabase 的实时 API。这样,用户就能实时看到新消息,而无需刷新页面。对于任何需要实时更新的场景(评论、通知、仪表盘等),这一机制都适用。Supabase 存储中的文件上传有没有限制?
Supabase 存储中的文件上传有没有限制?
在免费方案下,Supabase 会将单个文件的上传大小限制为 50MB。这能覆盖大多数使用场景,比如图片、音频或短视频。如果你需要处理更大的文件(例如更长的视频或大型数据集),升级到付费方案后就可以使用更高的文件大小上限,甚至支持断点续传。另请注意,每个项目还有一个总存储配额(例如你总共可以存储多少 GB),并且在更高级别的方案中该配额会提高。
如何在 Supabase 中配置身份验证?
如何在 Supabase 中配置身份验证?
Lovable 会自动设置身份验证,但你可能还需要:
- 前往 Supabase Dashboard > Authentication。
- 启用 Email Sign-in/Sign-up。
- 禁用电子邮件确认,便于本地测试。
我可以在多个 Lovable 项目中共用同一个 Supabase 数据库吗?
我可以在多个 Lovable 项目中共用同一个 Supabase 数据库吗?
可以的。你可以在 Lovable 中构建多个前端应用,它们都连接到同一个 Supabase 项目(因此共享同一套数据库和认证机制)。这属于高级用法,但完全可行——例如,将主应用和管理后台分别作为独立的 Lovable 项目,但共用同一个数据库。在每个项目中连接 Supabase 时,只需选择同一个 Supabase 项目即可。请记住,这些应用都会对同一份数据进行读写,因此需要相应地进行设计和规划。
如果我想在不影响线上应用的前提下测试数据库的变更,该怎么办?
如果我想在不影响线上应用的前提下测试数据库的变更,该怎么办?
目前,每个 Lovable 项目只连接到一个 Supabase 项目,并且 Lovable 尚不提供内置的预发布环境(staging)。如果你想要一个安全的试验环境,Supabase 提供了名为 Branching 的功能,可以让你创建数据库的临时副本(类似于 git 分支)来测试更改。你可以将一个单独的 Lovable 项目连接到数据库的某个分支或副本用于测试。一般来说,对于重要项目,在线上应用上直接修改数据库 schema 时要格外谨慎——建议先创建备份或使用 Branching,在准备就绪后再合并变更。Lovable 的集成能力还在不断演进,将来的更新可能会引入更顺畅的预发布工作流。
Supabase 或 Lovable 会帮我编写自定义 SQL 查询或数据库逻辑吗?
Supabase 或 Lovable 会帮我编写自定义 SQL 查询或数据库逻辑吗?
是的。Supabase 的 Web 界面中包含一个 AI SQL Assistant,可以从自然语言生成 SQL 查询。所以如果你需要一条复杂的查询语句,或者不太熟悉写 SQL,可以在 Supabase 的 SQL 编辑器里试用这个工具。至于 Lovable 这边,你通常完全不需要手写 SQL —— AI 会为你处理大部分的 schema 创建和查询。但如果你是高级用户并且想做一些自定义操作,你随时可以使用 Lovable 的 GitHub 集成来查看或编辑代码,或者在需要时对数据库运行原生 SQL。
如何在 Lovable 应用中处理支付?
如何在 Lovable 应用中处理支付?
支付通过与 Stripe 等服务的集成来完成,你可以将其与 Supabase Edge Functions 结合使用。比如,你可以向 Lovable 发出这样的提示:“添加一个结账按钮,并使用 Stripe 处理支付。” 然后,Lovable 会创建一个与 Stripe 的 API 通信的边缘函数(使用你以机密形式存储的 Stripe 密钥),并可能将交易详情存储在你的 Supabase 数据库中。UI 会随之更新,包含结账/支付按钮。本质上,Supabase 提供了实现支付所需的环境(Edge Functions、数据库),而 Lovable 可以为你生成相应的代码脚手架。更多详情可参考 Lovable 文档中的 Stripe & Payments 集成指南,其中详细介绍了如何配置 Stripe。