跳到主要內容

環境變數參考

本文檔描述了不同的環境變數及其用例。

Prisma Client

DEBUG

DEBUG 用於在 Prisma Client 中啟用偵錯輸出。

設定 Prisma Client 層級偵錯輸出的範例

# enable only `prisma:client`-level debugging output
export DEBUG="prisma:client"

請參閱偵錯以取得更多資訊。

NO_COLOR

如果 NO_COLORtruthy,將會啟用 colorless 設定以進行錯誤格式化,並從錯誤訊息中移除色彩。

請參閱透過環境變數進行格式化以取得更多資訊。

Prisma Studio

BROWSER

BROWSER 供 Prisma Studio 強制指定應在哪個瀏覽器中開啟,如果未設定,則將在預設瀏覽器中開啟。

BROWSER=firefox prisma studio --port 5555

或者,您也可以從 CLI 啟動 Studio 時設定此項

prisma studio --browser firefox

請參閱 Studio 文件以取得更多資訊。

Prisma CLI

PRISMA_HIDE_PREVIEW_FLAG_WARNINGS

PRISMA_HIDE_PREVIEW_FLAG_WARNINGS 隱藏了說明預覽功能標誌可能會被移除的警告訊息。它是一個 truthy 值。

PRISMA_HIDE_UPDATE_MESSAGE

PRISMA_HIDE_UPDATE_MESSAGE 用於隱藏在有較新 Prisma CLI 版本可用時顯示的更新通知訊息。它是一個 truthy 值。

PRISMA_GENERATE_SKIP_AUTOINSTALL

如果將 PRISMA_GENERATE_SKIP_AUTOINSTALL 設定為 truthy 值,則在使用 prisma generate 命令時,如果 Prisma Schema 中定義了 prisma-client-js generator,則會跳過自動安裝 prisma CLI 和 @prisma/client 相依性(如果它們遺失)。

PRISMA_SKIP_POSTINSTALL_GENERATE

如果將 PRISMA_SKIP_POSTINSTALL_GENERATE 設定為 truthy 值,則當套件管理器觸發其 postinstall hook 時,會跳過自動產生 Prisma Client。當安裝套件或更新其版本時,會觸發 @prisma/client 套件的 postinstall hook。

PRISMA_DISABLE_WARNINGS

停用 logger.warn 產生的所有 CLI 警告。

PRISMA_GENERATE_NO_ENGINE

資訊

此環境變數自 5.2.0 版本起可用

如果將 PRISMA_GENERATE_NO_ENGINE 設定為 truthy 值,則會產生不包含 query engine 的 Prisma Client,以便在使用 Prisma Accelerate 時縮減已部署應用程式的大小。

PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK

資訊

此環境變數自 5.3.0 版本起可用

如果將 PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK 設定為 truthy 值,則會停用 Prisma Migrate 使用的諮詢鎖定。根據資料庫配置,例如對於 Percona-XtraDB-Cluster 或 MariaDB Galera Cluster,可能需要這樣做。

Proxy 環境變數

Prisma CLI 支援自訂 HTTP(S) Proxy 以下載 Prisma engine。當在公司防火牆後工作時,這些可能很有用。請參閱為 CLI 使用 HTTP Proxy 以取得更多資訊。

NO_PROXY

NO_PROXY 是不需要 Proxy 的主機名稱或 IP 位址的逗號分隔清單。

NO_PROXY=myhostname.com,10.11.12.0/16,172.30.0.0/16

HTTP_PROXY

HTTP_PROXY 設定為 Proxy 伺服器的主機名稱或 IP 位址。

HTTP_PROXY=http://proxy.example.com

HTTPS_PROXY

HTTPS_PROXY 設定為 Proxy 伺服器的主機名稱或 IP 位址。

HTTPS_PROXY=https://proxy.example.com

Engine 環境變數

配置 Query Engine 類型

PRISMA_CLI_QUERY_ENGINE_TYPE

PRISMA_CLI_QUERY_ENGINE_TYPE 用於定義 Prisma CLI 下載和使用的 query engine 類型。預設為 library,但可以設定為 binary

PRISMA_CLI_QUERY_ENGINE_TYPE=binary

PRISMA_CLIENT_ENGINE_TYPE

PRISMA_CLIENT_ENGINE_TYPE 用於定義 Prisma Client 下載和使用的 query engine 類型。預設為 library,但可以設定為 binary

PRISMA_CLIENT_ENGINE_TYPE=binary

注意:您需要在設定此變數後產生 Prisma Client,配置才會生效並下載程式庫。否則,Prisma Client 將會遺失適當的 query engine 程式庫,您將必須使用 PRISMA_QUERY_ENGINE_LIBRARY 定義它們的位置。

它是 generator block 的 engineType 屬性的等效環境變數,可讓您在 Prisma Schema 中定義相同的設定。

下載 Engine

PRISMA_ENGINES_MIRROR

PRISMA_ENGINES_MIRROR 可用於指定自訂 CDN(或伺服器)端點,以下載 CLI/Client 的 engine 檔案。預設值為 https://binaries.prisma.sh,Prisma 在此處託管 engine 檔案。

PRISMA_ENGINES_MIRROR=https://example.org/custom-engines/

請參閱 Prisma engine 以取得關於如何使用此環境變數的概念性概述。

注意:此環境變數以前稱為 PRISMA_BINARIES_MIRROR,已在 Prisma ORM 3.0.1 中棄用。不建議再使用,並且將在未來版本中移除。

PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING

資訊

此環境變數自 4.16.0 版本起可用

如果將 PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING 設定為 truthy 值,則會忽略圍繞下載和驗證 Prisma ORM engine 完整性(透過 checksum 檔案)的問題。當部署到無法下載 checksum 檔案的離線系統環境時,這特別有用。

PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING=1

注意:我們可能會在未來的版本中更改整體下載行為,使其在離線環境案例中不再需要此環境變數。

自訂 engine 檔案位置

預設情況下,當您安裝 Prisma CLI 時,所有 engine 檔案都會被下載,在產生 Prisma Client 時複製,並放入已知位置。然而,在某些情況下,您可能想要使用來自自訂位置的自訂 engine 檔案

PRISMA_QUERY_ENGINE_BINARY

PRISMA_QUERY_ENGINE_BINARY 用於設定您自己的 query engine 二進制檔的自訂位置。

PRISMA_QUERY_ENGINE_BINARY=custom/query-engine-<target>
# Example: ./prisma/binaries/query-engine-linux-arm64-openssl-1.0.x

對於 Prisma CLI,它允許您定義要使用的 query engine 檔案。
對於 Prisma Client,在建置時(在 prisma generate 期間),它定義了 query engine 檔案將從何處複製到 Prisma Client 中。在運行時(當使用產生的 Client 時),它可以用於定義要使用的特定 query engine 檔案,而不是包含的檔案。

注意:只有在 CLI 或 Client 的 engine 類型設定為 binary 時,這才會生效。如果 engine 類型為 library(預設),請改用 PRISMA_QUERY_ENGINE_LIBARY。

PRISMA_QUERY_ENGINE_LIBRARY

PRISMA_QUERY_ENGINE_LIBRARY 用於設定您自己的 query engine 程式庫的自訂位置。

PRISMA_QUERY_ENGINE_LIBRARY=custom/libquery_engine-<target>.so.node
# Example: ./prisma/binaries/libquery_engine-linux-arm64-openssl-1.0.x.so.node

對於 Prisma CLI,它允許您定義要使用的 query engine 檔案。
對於 Prisma Client,在建置時(在 prisma generate 期間),它定義了 query engine 檔案將從何處複製到 Prisma Client 中。在運行時(當使用產生的 Client 時),它可以用於定義要使用的特定 query engine 檔案,而不是包含的檔案。

注意:只有在 CLI 或 Client 的 engine 類型設定為 library(預設)時,這才會生效

PRISMA_SCHEMA_ENGINE_BINARY

PRISMA_SCHEMA_ENGINE_BINARY 用於設定您的 Schema engine 二進制檔的自訂位置。

PRISMA_SCHEMA_ENGINE_BINARY=custom/my-schema-engine-unix

PRISMA_MIGRATION_ENGINE_BINARY

警告

已棄用PRISMA_MIGRATION_ENGINE_BINARY 變數已在 5.0.0 中棄用,因為 Migration engine 已重新命名為 Schema Engine。

PRISMA_MIGRATION_ENGINE_BINARY 用於設定您自己的 migration engine 二進制檔的自訂位置。

PRISMA_MIGRATION_ENGINE_BINARY=custom/my-migration-engine-unix

PRISMA_INTROSPECTION_ENGINE_BINARY

PRISMA_INTROSPECTION_ENGINE_BINARY 用於設定您自己的 introspection engine 二進制檔的自訂位置。

PRISMA_INTROSPECTION_ENGINE_BINARY=custom/my-introspection-engine-unix
警告

4.9.0 起,Introspection Engine 由 Migration Engine 提供。因此,將不會使用 PRISMA_INTROSPECTION_ENGINE 環境變數。

PRISMA_FMT_BINARY

危險

此功能已在 Prisma CLI 4.10.0 版本中移除。它僅在較早版本中有效。

PRISMA_FMT_BINARY 用於設定您自己的 format engine 二進制檔的自訂位置。

PRISMA_FMT_BINARY=custom/my-custom-format-engine-unix
警告

PRISMA_FMT_BINARY 變數用於 4.2.0 或更低版本。

CLI 二進制目標

PRISMA_CLI_BINARY_TARGETS

PRISMA_CLI_BINARY_TARGETS 可用於指定一個或多個二進制目標,Prisma CLI 將在安裝期間下載(因此必須在 Prisma CLI 的 npm install 期間提供,並且不影響 Prisma CLI 或 Prisma Client 的運行時)。

如果您 1) 透過上傳包含相依性的本地專案部署到特定平台,並且 2) 您的本地環境與目標環境不同(例如,具有 Node.js 20+ 的 AWS Lambda 是 rhel-openssl-3.0.x,而您的本地環境可能是 macOS arm64 darwin-arm64),請使用 PRISMA_CLI_BINARY_TARGETS。使用 PRISMA_CLI_BINARY_TARGETS 環境變數可確保也下載目標 engine 檔案。

PRISMA_CLI_BINARY_TARGETS=darwin-arm64,rhel-openssl-3.0.x npm install

這是 generator block 的 binaryTargets 屬性的 Prisma CLI 等效項,可讓您為 Prisma Client 定義相同的設定。

注意:對於早於 20 的 Node.js 版本,openssl 版本為 1.0.x 而不是 3.0.x。這在 AWS Lambda 部署中最為明顯,其中二進制目標將是 rhel-openssl-1.0.x 而不是 rhel-openssl-3.0.x