Environment variables reference
This document describes different environment variables and their use cases.
Prisma Client
DEBUG
DEBUG
is used to enable debugging output in Prisma Client.
Example setting Prisma Client level debugging output:
# enable only `prisma:client`-level debugging output
export DEBUG="prisma:client"
See Debugging for more information.
NO_COLOR
NO_COLOR
if truthy will activate the colorless
setting for error formatting and strip colors from error messages.
See Formatting via environment variables for more information.
Prisma Studio
BROWSER
BROWSER
is for Prisma Studio to force which browser it should be open in, if not set it will open in the default browser.
BROWSER=firefox prisma studio --port 5555
Alternatively you can set this when starting Studio from the CLI as well:
prisma studio --browser firefox
See Studio documentation for more information.
Prisma CLI
PRISMA_HIDE_PREVIEW_FLAG_WARNINGS
PRISMA_HIDE_PREVIEW_FLAG_WARNINGS
hides the warning message that states that a preview feature flag can be removed. It is a truthy value.
PRISMA_HIDE_UPDATE_MESSAGE
PRISMA_HIDE_UPDATE_MESSAGE
is used to hide the update notification message that is shown when a newer Prisma CLI version is available. It's a truthy value.
PRISMA_GENERATE_SKIP_AUTOINSTALL
PRISMA_GENERATE_SKIP_AUTOINSTALL
can be set to a truthy value to skip the auto-install of prisma
CLI and @prisma/client
dependencies (if they are missing), if the prisma-client-js
generator is defined in the Prisma Schema, when using the prisma generate
command.
PRISMA_SKIP_POSTINSTALL_GENERATE
PRISMA_SKIP_POSTINSTALL_GENERATE
can be set to a truthy value to skip the auto-generation of Prisma Client when its postinstall
hook is triggered by a package manager. The postinstall
hook of the @prisma/client
package is triggered when the package is installed, or its version is updated.
PRISMA_DISABLE_WARNINGS
Disables all CLI warnings generated by logger.warn
.
PRISMA_GENERATE_NO_ENGINE
This environment variable is available since version 5.2.0
PRISMA_GENERATE_NO_ENGINE
can be set to a truthy value to generate a Prisma Client without an included query engine in order to reduce deployed application size when paired with Prisma Accelerate.
PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK
This environment variable is available since version 5.3.0
PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK
can be set to a truthy value to disable the advisory locking used by Prisma Migrate. This might be needed, depending on the database configuration, for example, for a Percona-XtraDB-Cluster or MariaDB Galera Cluster.
Proxy environment variables
The Prisma CLI supports custom HTTP(S) proxies to download the Prisma engines. These can be helpful to use when working behind a corporate firewall. See Using a HTTP proxy for the CLI for more information.
NO_PROXY
NO_PROXY
is a comma-separated list of hostnames or IP addresses that do not require a proxy.
NO_PROXY=myhostname.com,10.11.12.0/16,172.30.0.0/16
HTTP_PROXY
HTTP_PROXY
is set with the hostname or IP address of a proxy server.
HTTP_PROXY=http://proxy.example.com
HTTPS_PROXY
HTTPS_PROXY
is set with the hostname or IP address of a proxy server.
HTTPS_PROXY=https://proxy.example.com
Engine environment variables
Configuring Query Engine Type
PRISMA_CLI_QUERY_ENGINE_TYPE
PRISMA_CLI_QUERY_ENGINE_TYPE
is used to define the query engine type Prisma CLI downloads and uses. Defaults to library
, but can be set to binary
:
PRISMA_CLI_QUERY_ENGINE_TYPE=binary
PRISMA_CLIENT_ENGINE_TYPE
PRISMA_CLIENT_ENGINE_TYPE
is used to define the query engine type Prisma Client downloads and uses. Defaults to library
, but can be set to binary
:
PRISMA_CLIENT_ENGINE_TYPE=binary
Note: You need to generate your Prisma Client after setting this variable for the configuration to take effect and the libraries to be downloaded. Otherwise, Prisma Client will be missing the appropriate query engine library and you will have to define their location using PRISMA_QUERY_ENGINE_LIBRARY
.
It is the environment variable equivalent for the engineType
property of the generator
block which enables you to define the same setting in your Prisma Schema.
Downloading Engines
PRISMA_ENGINES_MIRROR
PRISMA_ENGINES_MIRROR
can be used to specify a custom CDN (or server) endpoint to download the engines files for the CLI/Client. The default value is https://binaries.prisma.sh
, where Prisma hosts the engine files.
PRISMA_ENGINES_MIRROR=https://example.org/custom-engines/
See Prisma engines for a conceptual overview of how to use this environment variable.
Note: This environment variable used to be available as PRISMA_BINARIES_MIRROR
, which was deprecated in Prisma ORM 3.0.1. It is discouraged to use anymore and will be removed in the future.
PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING
This environment variable is available since version 4.16.0
PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING
can be can be set to a truthy value to ignore problems around downloading & verifying the integrity (via a checksum file) of the Prisma ORM engines.
This is particularly useful when deploying to an offline system environment where the checksum file cannot be downloaded.
PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING=1
Note: we might change the overall download behavior in a future release in a way that this environment variable will not be needed anymore in a offline environment case.
Custom engine file locations
By default, all engine files are downloaded when you install Prisma CLI, copied when generating Prisma Client, and put into known locations. There are however situations where you may want to use a custom engine file from custom locations:
PRISMA_QUERY_ENGINE_BINARY
PRISMA_QUERY_ENGINE_BINARY
is used to set a custom location for your own query engine binary.
PRISMA_QUERY_ENGINE_BINARY=custom/query-engine-<target>
# Example: ./prisma/binaries/query-engine-linux-arm64-openssl-1.0.x
For Prisma CLI it allows you to define the query engine file to be used.
For Prisma Client, on build time (during prisma generate
), it defines where the query engine file will be copied from into Prisma Client. At run time (when using the generated Client) it can be used to define the specific query engine file to be used instead of the included one.
Note: This can only have an effect if the engine type of CLI or Client are set to binary
. If the engine type is library
(the default), use PRISMA_QUERY_ENGINE_LIBARY instead.
PRISMA_QUERY_ENGINE_LIBRARY
PRISMA_QUERY_ENGINE_LIBRARY
is used to set a custom location for your own 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
For Prisma CLI it allows you to define the query engine file to be used.
For Prisma Client, on build time (during prisma generate
), it defines where the query engine file will be copied from into Prisma Client. At run time (when using the generated Client) it can be used to define the specific query engine file to be used instead of the included one.
Note: This can only have an effect if the engine type of CLI or Client are set to library
(the default)
PRISMA_SCHEMA_ENGINE_BINARY
PRISMA_SCHEMA_ENGINE_BINARY
is used to set a custom location for your Schema engine binary.
PRISMA_SCHEMA_ENGINE_BINARY=custom/my-schema-engine-unix
PRISMA_MIGRATION_ENGINE_BINARY
Deprecated: PRISMA_MIGRATION_ENGINE_BINARY
variable is deprecated in 5.0.0 because Migration engine was renamed to Schema Engine.
PRISMA_MIGRATION_ENGINE_BINARY
is used to set a custom location for your own migration engine binary.
PRISMA_MIGRATION_ENGINE_BINARY=custom/my-migration-engine-unix
PRISMA_INTROSPECTION_ENGINE_BINARY
PRISMA_INTROSPECTION_ENGINE_BINARY
is used to set a custom location for your own introspection engine binary.
PRISMA_INTROSPECTION_ENGINE_BINARY=custom/my-introspection-engine-unix
The Introspection Engine is served by the Migration Engine from 4.9.0. Therefore, the PRISMA_INTROSPECTION_ENGINE
environment variable will not be used.
PRISMA_FMT_BINARY
This functionality has been removed in Prisma CLI version 4.10.0. It only works in earlier versions.
PRISMA_FMT_BINARY
is used to set a custom location for your own format engine binary.
PRISMA_FMT_BINARY=custom/my-custom-format-engine-unix
The PRISMA_FMT_BINARY
variable is used in versions 4.2.0 or lower.
CLI Binary Targets
PRISMA_CLI_BINARY_TARGETS
PRISMA_CLI_BINARY_TARGETS
can be used to specify one or more binary targets that Prisma CLI will download during installation (so it must be provided during npm install
of Prisma CLI and does not affect runtime of Prisma CLI or Prisma Client).
Use PRISMA_CLI_BINARY_TARGETS
if you 1) deploy to a specific platform via an upload of a local project that includes dependencies, and 2) your local environment is different from the target (e.g. AWS Lambda with Node.js 20+ is rhel-openssl-3.0.x
, and your local environment might be macOS arm64 darwin-arm64
). Using the PRISMA_CLI_BINARY_TARGETS
environment variable ensures that the target engine files are also downloaded.
PRISMA_CLI_BINARY_TARGETS=darwin-arm64,rhel-openssl-3.0.x npm install
This is the Prisma CLI equivalent for the binaryTargets
property of the generator
block, which enables you to define the same setting for Prisma Client.
Note: For Node.js versions earlier than 20, the openssl version was 1.0.x instead of 3.0.x. This is most obvious in AWS Lambda deployments, where the binary target would be
rhel-openssl-1.0.x
instead ofrhel-openssl-3.0.x
.