跳至主要內容

PostgreSQL 擴充功能

本頁面介紹 PostgreSQL 擴充功能,並說明如何將其與 Prisma ORM 搭配使用。

警告

在 Prisma ORM v4.5.0 到 v6.16.0 之間,您可以透過 postgresqlExtensions 預覽功能旗標(preview feature flag)在 Prisma schema 中啟用擴充功能。此功能旗標已於 v6.16.1 中棄用,目前使用 PostgreSQL 擴充功能的推薦方式是透過自訂遷移(customized migrations)來安裝它們。

什麼是 PostgreSQL 擴充功能?

PostgreSQL 允許您透過安裝並啟用稱為「擴充功能」(extensions)的套件來擴充資料庫功能。例如,citext 擴充功能增加了一種不區分大小寫的字串資料類型。有些擴充功能(如 citext)由 PostgreSQL 直接提供,而其他擴充功能則是由外部開發。如需更多關於擴充功能的資訊,請參閱 PostgreSQL 文件

若要使用擴充功能,必須先將其安裝在資料庫伺服器的本機檔案系統上。然後,您需要啟用該擴充功能,這會執行一個腳本檔案以添加新功能。

將 PostgreSQL 擴充功能與 Prisma ORM 搭配使用

讓我們透過安裝 citext 擴充功能的範例來進行說明。

1. 建立一個空的遷移檔

執行以下指令以建立一個可供您自訂的空白遷移檔

npx prisma migrate dev --create-only

2. 新增 SQL 陳述式以安裝擴充功能

migrations 目錄下新建立的遷移檔案中,加入以下 SQL 陳述式

CREATE EXTENSION IF NOT EXISTS citext;

3. 部署遷移

執行以下指令以部署遷移並將其套用到您的資料庫

npx prisma migrate deploy

4. 使用擴充功能

您現在可以在 Prisma Client 的查詢中使用該擴充功能。如果擴充功能具有目前無法在 Prisma schema 中以原生方式呈現的特殊資料類型,您仍然可以使用 Unsupported 回退類型在模型中定義該類型的欄位。

© . This site is unofficial and not affiliated with Prisma Data, Inc.