環境變數參考
本文件描述了不同的環境變數及其用例。
Prisma Client
DEBUG
DEBUG 用於在 Prisma Client 中啟用除錯輸出。
設定 Prisma Client 級別除錯輸出的示例
# enable only `prisma:client`-level debugging output
export DEBUG="prisma:client"
請參閱除錯瞭解更多資訊。
NO_COLOR
如果NO_COLOR 為真值,將啟用錯誤格式化中的 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 隱藏了關於預覽功能標誌可能被移除的警告訊息。它是一個真值。
PRISMA_HIDE_UPDATE_MESSAGE
PRISMA_HIDE_UPDATE_MESSAGE 用於隱藏當有更新的 Prisma CLI 版本可用時顯示更新通知訊息。它是一個真值。
PRISMA_GENERATE_SKIP_AUTOINSTALL
如果 Prisma Schema 中定義了 prisma-client-js 生成器,當使用 prisma generate 命令時,可以將 PRISMA_GENERATE_SKIP_AUTOINSTALL 設定為真值,以跳過自動安裝 prisma CLI 和 @prisma/client 依賴項(如果它們缺失)。
PRISMA_SKIP_POSTINSTALL_GENERATE
當包管理器觸發 @prisma/client 包的 postinstall 鉤子時(當包被安裝或其版本更新時),可以將 PRISMA_SKIP_POSTINSTALL_GENERATE 設定為真值,以跳過 Prisma Client 的自動生成。
PRISMA_DISABLE_WARNINGS
停用由 logger.warn 生成的所有 CLI 警告。
PRISMA_GENERATE_NO_ENGINE
此環境變數自版本 5.2.0 起可用
PRISMA_GENERATE_NO_ENGINE 可以設定為一個真值,以生成一個不包含查詢引擎的 Prisma Client,從而在與 Prisma Accelerate 配合使用時減少部署應用程式的大小。
PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK
此環境變數自版本 5.3.0 起可用
可以將 PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK 設定為真值,以停用 Prisma Migrate 使用的諮詢鎖定。根據資料庫配置,這可能是必需的,例如對於 Percona-XtraDB-Cluster 或 MariaDB Galera Cluster。
代理環境變數
Prisma CLI 支援自定義 HTTP(S) 代理來下載 Prisma 引擎。在公司防火牆後工作時,這些代理可能很有用。請參閱為 CLI 使用 HTTP 代理瞭解更多資訊。
NO_PROXY
NO_PROXY 是一個逗號分隔的主機名或 IP 地址列表,這些地址不需要代理。
NO_PROXY=myhostname.com,10.11.12.0/16,172.30.0.0/16
HTTP_PROXY
HTTP_PROXY 設定為代理伺服器的主機名或 IP 地址。
HTTP_PROXY=http://proxy.example.com
HTTPS_PROXY
HTTPS_PROXY 設定為代理伺服器的主機名或 IP 地址。
HTTPS_PROXY=https://proxy.example.com
引擎環境變數
配置查詢引擎型別
PRISMA_CLI_QUERY_ENGINE_TYPE
PRISMA_CLI_QUERY_ENGINE_TYPE 用於定義 Prisma CLI 下載和使用的查詢引擎型別。預設為 library,但可以設定為 binary
PRISMA_CLI_QUERY_ENGINE_TYPE=binary
PRISMA_CLIENT_ENGINE_TYPE
PRISMA_CLIENT_ENGINE_TYPE 用於定義 Prisma Client 下載和使用的查詢引擎型別。預設為 library,但可以設定為 binary
PRISMA_CLIENT_ENGINE_TYPE=binary
注意:設定此變數後,您需要生成 Prisma Client,配置才能生效並下載相關庫。否則,Prisma Client 將缺少相應的查詢引擎庫,您將不得不使用 PRISMA_QUERY_ENGINE_LIBRARY 定義它們的路徑。
它是 generator 塊的 engineType 屬性的等效環境變數,使您能夠在 Prisma Schema 中定義相同的設定。
下載引擎
PRISMA_ENGINES_MIRROR
PRISMA_ENGINES_MIRROR 可用於指定一個自定義 CDN(或伺服器)端點,以下載 CLI/Client 的引擎檔案。預設值為 https://binaries.prisma.sh,Prisma 在此託管引擎檔案。
PRISMA_ENGINES_MIRROR=https://example.org/custom-engines/
請參閱Prisma 引擎,以獲取有關如何使用此環境變數的概念性概述。
注意:此環境變數曾以 PRISMA_BINARIES_MIRROR 的形式提供,該變數在 Prisma ORM 3.0.1 中已棄用。不鼓勵再使用它,並且將在未來版本中移除。
PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING
此環境變數自版本 4.16.0 起可用
可以將 PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING 設定為真值,以忽略下載和驗證 Prisma ORM 引擎完整性(透過校驗和檔案)時出現的問題。這在部署到無法下載校驗和檔案的離線系統環境時特別有用。
PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING=1
注意:我們可能會在未來版本中改變整體下載行為,屆時在離線環境情況下將不再需要此環境變數。
自定義引擎檔案位置
預設情況下,當您安裝 Prisma CLI 時,所有引擎檔案都會被下載;在生成 Prisma Client 時被複制;並放置到已知位置。然而,在某些情況下,您可能希望從自定義位置使用自定義引擎檔案
PRISMA_QUERY_ENGINE_BINARY
PRISMA_QUERY_ENGINE_BINARY 用於設定您自己的查詢引擎二進位制檔案的自定義位置。
PRISMA_QUERY_ENGINE_BINARY=custom/query-engine-<target>
# Example: ./prisma/binaries/query-engine-linux-arm64-openssl-1.0.x
對於 Prisma CLI,它允許您定義要使用的查詢引擎檔案。
對於 Prisma Client,在構建時(執行 prisma generate 期間),它定義了查詢引擎檔案將從何處複製到 Prisma Client 中。在執行時(使用生成的 Client 時),它可用於定義要使用的特定查詢引擎檔案,而不是內建的引擎檔案。
注意:僅當 CLI 或 Client 的引擎型別設定為 binary 時,此設定才有效。如果引擎型別為 library(預設),請改用 PRISMA_QUERY_ENGINE_LIBARY。
PRISMA_QUERY_ENGINE_LIBRARY
PRISMA_QUERY_ENGINE_LIBRARY 用於設定您自己的查詢引擎庫的自定義位置。
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,它允許您定義要使用的查詢引擎檔案。
對於 Prisma Client,在構建時(執行 prisma generate 期間),它定義了查詢引擎檔案將從何處複製到 Prisma Client 中。在執行時(使用生成的 Client 時),它可用於定義要使用的特定查詢引擎檔案,而不是內建的引擎檔案。
注意:僅當 CLI 或 Client 的引擎型別設定為 library(預設)時,此設定才有效
PRISMA_SCHEMA_ENGINE_BINARY
PRISMA_SCHEMA_ENGINE_BINARY 用於設定 Schema 引擎二進位制檔案的自定義位置。
PRISMA_SCHEMA_ENGINE_BINARY=custom/my-schema-engine-unix
PRISMA_MIGRATION_ENGINE_BINARY
已棄用:由於 Migration 引擎已更名為 Schema 引擎,PRISMA_MIGRATION_ENGINE_BINARY 變數在 5.0.0 版本中已棄用。
PRISMA_MIGRATION_ENGINE_BINARY 用於設定您自己的遷移引擎二進位制檔案的自定義位置。
PRISMA_MIGRATION_ENGINE_BINARY=custom/my-migration-engine-unix
PRISMA_INTROSPECTION_ENGINE_BINARY
PRISMA_INTROSPECTION_ENGINE_BINARY 用於設定您自己的內省引擎二進位制檔案的自定義位置。
PRISMA_INTROSPECTION_ENGINE_BINARY=custom/my-introspection-engine-unix
自 4.9.0 版本起,內省引擎由遷移引擎提供。因此,將不再使用 PRISMA_INTROSPECTION_ENGINE 環境變數。
PRISMA_FMT_BINARY
此功能已在 Prisma CLI 4.10.0 版本中移除。它僅在早期版本中有效。
PRISMA_FMT_BINARY 用於設定您自己的格式化引擎二進位制檔案的自定義位置。
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 環境變數可確保目標引擎檔案也被下載。
PRISMA_CLI_BINARY_TARGETS=darwin-arm64,rhel-openssl-3.0.x npm install
這是 Prisma CLI 的等效項,對應於generator 塊的 binaryTargets 屬性,它使您能夠為 Prisma Client 定義相同的設定。
注意:對於 Node.js 20 之前的版本,OpenSSL 版本是 1.0.x 而不是 3.0.x。這在 AWS Lambda 部署中最為明顯,其中二進位制目標將是
rhel-openssl-1.0.x而不是rhel-openssl-3.0.x。