iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0

封面

在前面的文章中,我們已經學會了 Supabase CLI 的基本安裝和使用。今天要為大家整理一份完整的常用指令清單,讓你在開發過程中能夠快速查找和使用這些實用的命令。

全域設定指令

基本設定

這些指令幫助你設定 CLI 的基本環境:

# 登入 Supabase 帳號
supabase login

# 登出帳號
supabase logout

# 查看目前登入狀態
supabase status

# 顯示 CLI 版本
supabase --version

# 顯示說明文件
supabase --help

專案初始化

開始一個新專案時的必備指令:

# 在目前資料夾初始化新專案
supabase init

# 連結到現有的雲端專案
supabase link --project-ref YOUR_PROJECT_ID

# 查看專案資訊
supabase projects list

資料庫管理指令

本地資料庫操作

在本地開發時最常用的資料庫指令:

# 啟動本地 Supabase 服務
supabase start

# 停止本地服務
supabase stop

# 重新啟動服務
supabase restart

# 查看本地服務狀態
supabase status

# 重置本地資料庫(清空所有資料)
supabase db reset

# 重置並載入種子資料
supabase db reset --with-seed

資料庫同步

讓本地和雲端資料庫保持同步:

# 將本地變更推送到雲端
supabase db push

# 從雲端拉取變更到本地
supabase db pull

# 產生資料庫差異報告
supabase db diff

# 備份雲端資料庫
supabase db dump --data-only > backup.sql

遷移管理指令

建立和管理遷移檔案

遷移讓你能夠版本化管理資料庫結構:

# 建立新的遷移檔案
supabase migration new create_users_table

# 查看所有遷移檔案
supabase migration list

# 套用遷移到本地資料庫
supabase migration up

# 修復遷移歷史記錄
supabase migration repair

實用範例

# 建立用戶資料表的遷移
supabase migration new create_users_table

# 建立商品資料表的遷移
supabase migration new add_products_table

# 新增欄位的遷移
supabase migration new add_email_to_users

分支管理指令

建立和切換分支

分支功能讓你能夠安全地測試新功能:

# 建立新分支
supabase branches create feature-branch

# 列出所有分支
supabase branches list

# 切換到指定分支
supabase branches switch feature-branch

# 刪除分支
supabase branches delete feature-branch

# 查看分支詳細資訊
supabase branches get feature-branch

函數管理指令

Edge Functions 操作

管理無伺服器函數的常用指令:

# 建立新函數
supabase functions new hello-world

# 本地執行函數
supabase functions serve

# 部署函數到雲端
supabase functions deploy hello-world

# 列出所有函數
supabase functions list

# 刪除函數
supabase functions delete hello-world

# 查看函數日誌
supabase functions logs hello-world

函數開發範例

# 建立 API 函數
supabase functions new api-handler

# 建立定時任務函數
supabase functions new scheduled-task

# 本地測試所有函數
supabase functions serve --debug

密鑰管理指令

環境變數和密鑰

安全地管理應用程式的敏感資訊:

# 設定密鑰
supabase secrets set API_KEY=your-secret-key

# 查看所有密鑰名稱(不顯示值)
supabase secrets list

# 刪除密鑰
supabase secrets unset API_KEY

# 從檔案載入密鑰
supabase secrets set --env-file .env.local

實用範例

# 設定第三方 API 金鑰
supabase secrets set STRIPE_SECRET_KEY=sk_test_...

# 設定資料庫連線字串
supabase secrets set DATABASE_URL=postgresql://...

# 批次設定多個密鑰
supabase secrets set --env-file production.env

儲存管理指令

檔案儲存操作

管理檔案上傳和儲存空間:

# 建立新的儲存桶
supabase storage create-bucket avatars

# 列出所有儲存桶
supabase storage list-buckets

# 刪除儲存桶
supabase storage delete-bucket avatars

# 上傳檔案
supabase storage upload avatars/user1.jpg ./local-image.jpg

# 下載檔案
supabase storage download avatars/user1.jpg

# 列出桶中的檔案
supabase storage list avatars

實用技巧和組合指令

完整開發流程

一個典型的開發流程會用到這些指令組合:

# 1. 初始化專案
supabase init
supabase link --project-ref YOUR_PROJECT_ID

# 2. 啟動本地環境
supabase start

# 3. 建立資料表
supabase migration new create_posts_table
# 編輯遷移檔案後
supabase migration up

# 4. 測試功能
supabase db reset --with-seed

# 5. 部署到雲端
supabase db push
supabase functions deploy

除錯和監控

當遇到問題時的常用指令:

# 查看詳細狀態
supabase status --output pretty

# 查看服務日誌
supabase logs

# 檢查資料庫連線
supabase db ping

# 驗證設定檔
supabase config validate

常用指令速查表

功能 指令 說明
專案管理 supabase init 初始化新專案
supabase link 連結雲端專案
supabase start 啟動本地服務
資料庫 supabase db reset 重置資料庫
supabase db push 推送到雲端
supabase migration new 建立遷移
函數 supabase functions new 建立函數
supabase functions deploy 部署函數
密鑰 supabase secrets set 設定密鑰
supabase secrets list 列出密鑰

小結

這些 CLI 指令涵蓋了 Supabase 開發的各個面向,從專案初始化到部署上線。建議將這份清單加入書籤,在開發過程中隨時查閱。記住,每個指令都可以加上 --help 參數來查看詳細說明。

隨著你對 Supabase 的熟悉度增加,這些指令會成為你開發工具箱中不可或缺的一部分,讓你能夠更有效率地建構全端應用。

... to be continued

有任何想討論歡迎留言,或需要指正的地方請鞭大力一點,歡迎訂閱、按讚加分享,分享給想要提升開發效率或探索新技術可能性的朋友!


上一篇
第五關 - Supabase CLI(下)- 本地資料表建立與雲端同步
下一篇
第七關 - Supabase 自部署:打造專屬的後端服務
系列文
我獨自開發 - 用 Supabase 打造全端應用7
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言