现在开发网站,接了 Supabase 的,都顺手给 AI 加了个技巧,就是让它能直接用 Supabase CLI 写入和查询数据库。
尤其是网站初期,有大量的建表语句要执行,虽然也就复制粘贴的事情,但毕竟要停下来人手动去操作一下,能给AI一次性干的都让它干了。
比如你兴致冲冲要去测试功能了,一点击报错了,排查出来发现是sql语句没有执行,是不是很恼火。
所以接上CLI 方便一些,AI 如果只看代码,遇到问题很多时候就只能猜,去琢磨代码。把 CLI 接上以后,它至少能先去查证,再回来改代码,排查会快很多。
先把 CLI 接通
接起来不复杂,但前提是本机先装好 Supabase CLI。
官方文档现在给的方式,一个是直接用 npx supabase,另一个是把它装进项目里。
npx supabase --help
# 或
npm install supabase --save-dev
先去 Supabase 的账号页生成 personal access token,就在你头像的下拉菜单栏里面。这个 token 是账号级别的,不是某个项目里的 key。

可以设置这个token的有效期。

注意这个token只显示一次,记得及时保存。

然后开启一个终端,先登录 CLI:
supabase login --token <你的_access_token>

官网文档里写得很清楚,它连的是你的 Supabase 账号,后面很多项目管理命令都靠这个 token。
再把本地项目 link 到目标项目。如果不想每次手动输入数据库密码,可以先把环境变量配上:
export SUPABASE_DB_PASSWORD='你的数据库密码'
supabase link --project-ref 你的_project_ref
数据库密码就是你创建的时候自己设置的。
project_ref 一般能在 dashboard URL 里看到,也能在 Project Settings 里的 General 页面找到。

如果你的远端 schema 之前已经被人手动改过,或者你本地 migration 历史还没对齐,最好先跑一次:
supabase db pull
这样可以先把远端结构拉回本地,少一点误判。
如果你本地已经写好了 migration,要把它们发到线上,再跑:
supabase db push
后面再要执行个sql语句,查个数据,AI可以直接操作。
把 Vercel CLI 也接上
这套思路其实不只适合 Supabase。
如果本机还没装 Vercel CLI,也先装一下。官方文档现在给的命令是:
pnpm i -g vercel
数据库是一层,环境变量其实也是一层。以前我经常是代码写到一半,发现还差个 key,然后又切去 Vercel dashboard 找变量名、复制变量值、回本地改 .env,再回来继续跑。
单次看不算麻烦,但就很打断节奏。
所以我现在会把 Vercel CLI 也一起接给 AI。要新增环境变量,它可以直接去写到vercel。要把云端开发环境同步回本地,它也可以把变量直接拉到本地文件。
这样很多原来靠我手抄、手贴、手核对的动作,也能一起省掉。
这件事和前面让 AI 去看 Supabase,其实是一套逻辑。代码之外,还有一堆上下文。数据库结构是一种,环境变量又是一种。
你不把这些上下文给它,它就只能半猜半写。你把这些层都接进去,它干活就会顺很多。
我之前单独写过一篇 Vercel CLI 的文章,讲的也是这个方向。很多以前要自己进后台点来点去的事,现在其实都可以直接在终端里做掉:
https://mp.weixin.qq.com/s/gjjMEEMafyiE_2TwwhLYfw
我自己的使用边界
项目前期可以让AI随便看,随便查,随便操作表结构。
后续真正上线了,改表结构,或者要动线上数据,我还是会自己确认一遍,再决定要不要执行。
像 supabase db push 这种命令,是会直接碰远端数据库的。它适合你明确知道自己要执行什么语句的时候用,防止出现误操作。
如果你本来就在用 Supabase,又经常让 AI 帮你写接口、补表结构、查线上 bug,这个推荐用上。
💡 AI 工具的爆发,让普通人也能快速做出产品。
但如何做?如何变现?如何真正走向海外市场?
👇 想了解更多 AI 编程 & 出海实战信息,扫码添加好友了解更多
🔗 更多教程请访问 ipengtao.com
文章评论