我在节点上使用Prisma,我用的是码头。
当我试图在我的数据库中创建一个新用户时,它说没有找到DATABASE_URL
,但是我在env中声明了它,所以我不知道我在哪里有这个错误。
server_container | Server is running on port 4000
server_container |
server_container | Invalid `prisma.user.create()` invocation in
server_container | /app/src/app.ts:18:36
server_container |
server_container | 15 const prisma = new PrismaClient();
server_container | 16
server_container | 17 const main = async () => {
server_container | → 18 const user = await prisma.user.create(
server_container | error: Environment variable not found: DATABASE_URL.
server_container | --> schema.prisma:10
server_container | |
server_container | 9 | provider = "postgresql"
server_container | 10 | url = env("DATABASE_URL")
server_container | |
server_container |
server_container | Validation Error Count: 1
我的码头司机docker-compose.yml
看起来是这样的:
version: '3.8'
services:
api:
build: .
container_name: server_container
ports:
- "4000:4000"
volumes:
- ./:/app
networks:
- api-pokemon-network
depends_on:
- db
db:
image: postgres:14
restart: always
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_PORT: ${POSTGRES_PORT}
volumes:
- data:/var/lib/postgresql/data
env_file:
- .env
command: -p ${POSTGRES_PORT}
networks:
- api-pokemon-network
ports:
- '${POSTGRES_PORT}:${POSTGRES_PORT}'
volumes:
data:
networks:
api-pokemon-network:
这是我的.env
POSTGRES_DB=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres_docker
POSTGRES_HOST=db
POSTGRES_PORT=54320
DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:${POSTGRES_PORT}/${POSTGRES_DB}?schema=public
发布于 2022-07-11 14:04:39
只需运行npx就可以生成。这将重新建立schema.prisma和.env file.Make之间的链接,确保在后台中设置DBURL。
https://stackoverflow.com/questions/72939630
复制相似问题