已知限制
以下是使用 Prisma Pulse 時的已知限制說明。如果您知道有任何遺漏的限制,請在我們的社群 Discord 的 #help-and-questions
頻道中告知我們。
入門方案需要超級使用者角色
我們的入門方案需要具有超級使用者權限的資料庫角色。
Prisma Pulse 是伺服器端
Prisma Pulse 串流無法直接在用戶端程式碼中啟動。為了即時接收事件,Prisma Client 需要在長時間運行的伺服器上開啟串流。
為了將事件傳播到前端,您可以使用 WebSocket 函式庫,例如 socket.io。
僅限於 Postgres 12 或更高版本
Prisma Pulse 目前支援 Postgres 12 或更高版本。它應該適用於大多數公開 Postgres 原生邏輯複製功能的 Postgres 供應商。
自訂發布槽的訂閱類型限制
Console 中的新手引導流程讓您可以提供自訂發布槽。如果該自訂發布槽僅包含您的資料庫表格的子集,則使用 Pulse 擴充功能產生的 Prisma Client 實例將繼續允許串流到基於您的完整 Prisma Schema 定義的所有模型。
例如,如果您的 schema 中有兩個模型,即 User
和 Post
模型。並且您選擇建立發布以專門監控 User
模型中的變更
CREATE PUBLICATION user_publication FOR TABLE users;
若要深入了解如何建立自訂發布槽,請參閱管理您的發布槽。
您產生的程式碼將會是
const userStream = prisma.user.stream()
然而,儘管缺少發布範圍,但產生的 Prisma Client 允許所有模型的串流,例如 Post
模型
const postStream = prisma.post.stream()
我們正在積極努力增強自訂發布的類型生成,作為我們持續改進 Prisma Pulse 的一部分工作。
資料庫事件的大小限制
請注意,資料庫事件會以 base64 編碼進行傳輸。大小限制適用於事件的編碼大小,而不是原始大小。
如果您的事件超過大小限制,它們將被 Prisma Pulse 拒絕,並且不會到達接收端。您可以在 Pulse 儀表板中查看有多少事件被 Prisma Pulse 拒絕.
靜態 IP 無法為現有的啟用 Pulse 環境啟用
目前,靜態 IP 無法為現有的啟用 Pulse 環境啟用。若要使用靜態 IP,您必須在新環境中啟用 Pulse 時選擇使用靜態 IP。作為一種解決方法,請在您的專案中建立一個新環境,並使用與您目前啟用 Pulse 的環境相同的資料庫連線字串,以便為 Pulse 獲得靜態 IP 支援。