最近我發現你可以將 Supabase 作為你的 PostgreSQL 托管。
Supabase 是一個非常有趣的項目。它不僅僅是一個「數據庫托管」,同時也是一個可以用來進行應用程序開發的平台。它是建立在 PostgreSQL 之上的,並且提供了一個免費的 連接池,可以幫助我們避免在使用 Prisma 時耗盡數據庫連接限制的問題。
他們在免費帳戶中允許最多兩個專案,所以值得一試。
你也可以開展一個新的項目,然後在完成後刪除舊的項目。
Supabase 將自己定位為 Firebase 的替代品,除了數據庫外,還提供了身份驗證、訂閱等功能,你可以稍後再進一步探索。
注意:Supabase 也可以自托管,這樣你的兩個項目限制就會消失,但同時你需要自行管理基礎架構。
設置時,首先在 supabase.com 上使用 GitHub 登錄。
然後創建一個新的項目
然後進入“Settings”→“Database”,滾動到底部,你會找到直接連接到數據庫的連接字符串(點擊 URI)
這就是你需要將其放入 .env
文件中的 DATABASE_URL
變量。
請輸入在創建 Supabase 項目時為該項目設置的密碼。
如果你現在使用 Prisma,你可以運行 npx prisma migrate dev
從 Prisma schema 創建表。
這樣就可以連接到數據庫了,但由於 Supabase 提供了連接池,可以幫助我們免於耗盡對數據庫的連接。為什麼不使用它呢?
如果你使用 Prisma:在使用 npx prisma migrate dev
時連接池無法正常工作,對於該命令,你必須使用上面所示的直接數據庫連接字符串。所以請記住在需要時更換 DATABASE_URL
的值。
下面是連接池連接字符串:
將它複製到你的 .env 文件中,並在末尾添加 ?pgbouncer=true
如此處所述。