prisma 找不到数据库 URL

sam*_*ter 2 node.js prisma

我在 Node 中使用 Prisma,并且在 docker 中使用。

\n

当我尝试在数据库中创建新用户时,它说DATABASE_URL未找到该用户,但我在我的环境中声明了它,所以我真的不知道在哪里出现此错误。

\n
server_container | Server is running on port 4000\nserver_container | \nserver_container | Invalid `prisma.user.create()` invocation in\nserver_container | /app/src/app.ts:18:36\nserver_container |\nserver_container |   15 const prisma = new PrismaClient();\nserver_container |   16\nserver_container |   17 const main = async () => {\nserver_container | \xe2\x86\x92 18     const user = await prisma.user.create(\nserver_container |   error: Environment variable not found: DATABASE_URL.\nserver_container |   -->  schema.prisma:10\nserver_container |    |\nserver_container |  9 |   provider = "postgresql"\nserver_container | 10 |   url      = env("DATABASE_URL")\nserver_container |    |\nserver_container |\nserver_container | Validation Error Count: 1\n
Run Code Online (Sandbox Code Playgroud)\n

我的码头工人docker-compose.yml看起来像这样:

\n
server_container | Server is running on port 4000\nserver_container | \nserver_container | Invalid `prisma.user.create()` invocation in\nserver_container | /app/src/app.ts:18:36\nserver_container |\nserver_container |   15 const prisma = new PrismaClient();\nserver_container |   16\nserver_container |   17 const main = async () => {\nserver_container | \xe2\x86\x92 18     const user = await prisma.user.create(\nserver_container |   error: Environment variable not found: DATABASE_URL.\nserver_container |   -->  schema.prisma:10\nserver_container |    |\nserver_container |  9 |   provider = "postgresql"\nserver_container | 10 |   url      = env("DATABASE_URL")\nserver_container |    |\nserver_container |\nserver_container | Validation Error Count: 1\n
Run Code Online (Sandbox Code Playgroud)\n

这是我的.env

\n
POSTGRES_DB=postgres\nPOSTGRES_USER=postgres\nPOSTGRES_PASSWORD=postgres_docker\nPOSTGRES_HOST=db\nPOSTGRES_PORT=54320\n\nDATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:${POSTGRES_PORT}/${POSTGRES_DB}?schema=public\n
Run Code Online (Sandbox Code Playgroud)\n

Nab*_*ras 6

只需运行npx prismagenerate。这将重新建立 schema.prisma 和 .env 文件之间的链接。确保将 DBURL 放在反引号 `` 内。