[英]Environment variables not registering in Prisma schema
我發現 Prisma 模式可以檢測環境變量的唯一方法是在其應用程序的根目錄中包含一個.env
文件。
我正在使用 docker compose 來構建一些服務,其中一個是使用 Prisma 管理數據庫的應用程序。 環境變量可通過process.env
在應用程序中使用,但 Prisma 無法使用env
function 檢測到這一點。
這是我訪問schema.prisma
中的變量的方式:
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
我通過這種方式組合 docker 中的變量:
app:
build:
context: ./app
environment:
DATABASE_URL: ${DATABASE_URL}
如何讓這個 function 檢測不一定屬於.env
變量的環境變量?
我最終解決了這個問題。 當我在終端中運行命令時,我在 docker 容器之外運行它們,因此在 docker 中運行的棱鏡代碼完美運行。 但是我在外面運行的命令看不到那個 .env 文件。
我能夠通過將 env 值添加到我的腳本來解決。 它可能不是最優雅的解決方案,但它確實有效。 例如:
eval $(grep '^DATABASE_URL' ../.env) prisma db pull && prisma generate
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.