这篇文章我们介绍 Supabase 中的开发和提效部分。首先是 Supabase cli,这是在用 Supabase 开发时必用的工具。其次是 Supabase MCP,通过 MCP 可以直接让AI完成操作远程数据库等操作。
Supabase CLI
Supabase CLI 是一个命令行工具,用于管理 Supabase 项目。它提供了一组命令,例如创建项目、生成 Data API 的类型代码、在本地启动开发环境、同步本地开发环境和远程数据库和通过管理API管理远程的 Supabase 项目。
Usage:
supabase [command]
Quick Start:
bootstrap Bootstrap a Supabase project from a starter template
Local Development:
db Manage Postgres databases
gen Run code generation tools
init Initialize a local project
inspect Tools to inspect your Supabase project
link Link to a Supabase project
login Authenticate using an access token
logout Log out and delete access tokens locally
migration Manage database migration scripts
seed Seed a Supabase project from supabase/config.toml
services Show versions of all Supabase services
start Start containers for Supabase local development
status Show status of local Supabase containers
stop Stop all local Supabase containers
test Run tests on local Supabase containers
unlink Unlink a Supabase project
Management APIs:
backups Manage Supabase physical backups
branches Manage Supabase preview branches
config Manage Supabase project configurations
domains Manage custom domain names for Supabase projects
encryption Manage encryption keys of Supabase projects
functions Manage Supabase Edge functions
network-bans Manage network bans
network-restrictions Manage network restrictions
orgs Manage Supabase organizations
postgres-config Manage Postgres database config
projects Manage Supabase projects
secrets Manage Supabase secrets
snippets Manage Supabase SQL snippets
ssl-enforcement Manage SSL enforcement configuration
sso Manage Single Sign-On (SSO) authentication for projects
storage Manage Supabase Storage objects
vanity-subdomains Manage vanity subdomains for Supabase projects
Supabase CLI 操作流程为:
- 通过 supabase login 登录你的 Supabase 官方平台
- 通过 supabase link 将本地项目和远程 Supabase 项目连接
- 通过 supabase start 你可以快速启动一个本地的开发环境,包含 supabase 的几乎所有功能
- 在本地开发环境进行开发和测试,完成后准备部署上线
- 通过 supabase db diff 可以自动和远程 Supabase 项目对比生成数据库迁移 SQL
- 通过 supabase db push 可以将生成的数据库迁移 SQL 推送到远程 Supabase 数据库
- 通过 supabase functions deploy 可以将本地的 Edge Function 修改部署到远程 Supabase 项目
Supabase MCP
你也可以使用 Supabase MCP 连接到远程 Supabase 项目,从而管理远程 Supabase 项目。Supabse 提供了一组工具,非常好用,可以在任意的 AI 编程工具中集成。下面是工具列表:
🟢 supabase - Ready (23 tools)
Tools:
- apply_migration
- create_branch
- delete_branch
- deploy_edge_function
- execute_sql
- generate_typescript_types
- get_advisors
- get_edge_function
- get_logs
- get_project_url
- get_publishable_keys
- get_storage_config
- list_branches
- list_edge_functions
- list_extensions
- list_migrations
- list_storage_buckets
- list_tables
- merge_branch
- rebase_branch
- reset_branch
- search_docs
- update_storage_config
其中 deploy_edge_function 、execute_sql 和 get_logs,非常有用,可以让 AI 编程工具代替你操作远程 Supabase 项目,而 get_logs 可以让 AI 编程工具获取到远程 Edge Function 的错误日志排查错误,不用手动复制日志了。
Supabase 的 MCP 提供了两个认证方式:
- 使用 OAuth 登录,当你没有提供任何认证方法的时候,你的 AI 编程工具会引导你在浏览器中登录认证
- 使用 AccessToken,当你环境中没有浏览器或者不想浏览器登录时,非常有用,需要在 Supabase Dashboard 中申请 AccessToken