Supabse 類似 Firebase 的後端服務 - db table 的建立

3 min
Supabse 類似 Firebase 的後端服務 - db table 的建立
Supabse 類似 Firebase 的後端服務 - db table 的建立

Supabase 是一個用來替代 Firebase 的開源方案,它主要提供了六大項產品分別是

Database

每一個 project 都提供一個完整的 Postgresql 資料庫,只要在後台建立好資料表,相關的 CURD API 都會幫你建立,也有類似於 Firebase 資料庫的實時更新通知。

  • Auth
  • Storage
  • AI & Vectors
  • Realtime
  • Edge Functions

目前官方提供的前端 SDK 有提供三種 JsFlutterSwift,但社群版本寫的 SDK 還蠻多的

image
image

註冊

接下來就實際註冊使用看看,目前 Free Plan 一個帳號可以開設兩個專案

使用 Github 登入後,會請你建立 organization
使用 Github 登入後,會請你建立 organization
建立 project 選擇地區
建立 project 選擇地區
完成後會進到這樣的 dashboard
完成後會進到這樣的 dashboard

Database

目前提供了兩種建立資料表的方式,一種是一般的 SQL 語法建立,另一種則是 Table Editor 的 GUI 操作形式。

SQL Editor

側選單中前兩個即是資料表編輯器
側選單中前兩個即是資料表編輯器
就可以輸入 SQL,右下角還可以加入查詢最愛
就可以輸入 SQL,右下角還可以加入查詢最愛
這樣在左側選單就可以快速使用
這樣在左側選單就可以快速使用

它還有一些範本(Templates)快速使用(Quickstarts)可以一鍵套用,例如你想建立一個關於國家的 table,可以使用 Quickstarts 中的 Countries,他就會快速帶入一串 SQL,可以快速幫你建立對應 ISO-3166 兩碼或三碼的國家列表。

image
image

Table Editor

另一個重點就是完全使用它提供的表格來建立資料表。在 Table Editor 中會看到一個 New table 的按鈕,按下這個會開始右側選單來開始建立流程。

Table Editor 左側選單
Table Editor 左側選單

下圖就是一個建立 table 的第一步輸入

image
image

建立欄位的時候,可以非常直覺的設定,右側的齒輪按下去也可以再設定這一欄的類型,例如是唯一的、不可為 null 或是它是一個 array。

image
image

如果想新建自己的 enum type,可以到 database -> enumerated types 內新增。這樣在新增或修改資料表的時候,就會出現自定義的 Data Type。

image
image

如果後續想為欄位添加說明或是更改欄位的類型與其他設定,可以到

database -> table -> {資料表名稱}

image
image

接著回到 table editor 中,選擇你要的資料表可以看到對應的資料,右上角有一個 API Docs 可以看到怎麼使用 API 來 CURD 這個資料表。

image
image

停止更新 Supabase

原先以為開源專案自行架設很有彈性,結果他有些東西鎖住了,例如第三方登入的 Providers 只讓他們的託管平台使用,這樣我還是得搭配 Firebase 來做驗證,徒增困擾。

Comments

Loading comments...