我用prisma和node.js。
当我在docker容器中调用一些函数(例如prisma.users.findAll())时,我有错误User 'postgres' was denied access on the database 'my_db.public',但是如果我在本地运行,我没有任何问题。
但是,我的容器是成功的,但是当我用数据库调用任何函数时,我就出错了。
My docker file
FROM node:15.13.0
RUN mkdir -p /project/node_modules && chown -R node:node /project
WORKDIR /project
COPY package*.json ./
COPY --chown=node:node prisma ./prisma
COPY config ./config
RUN npm install
RUN npx prisma generate
RUN npx prisma db push --preview-feature
COPY --chown=node:node ./temp ./temp
COPY --chown=node:node . .
CMD [ "node", "index.js" ]另外,我的db my_db | postgres | UTF8 | C.UTF-8 | C.UTF-8 | prisma设置DATABASE_URL=postgresql://postgres:password@172.17.0.1:5432/my_db?connect_timeout=300&connection_limit=150
发布于 2022-03-05 08:42:40
如果您可以通过在项目中运行这两个prisma命令中的任何一个获得相同的错误消息,
npx prisma db pull
npx prisma generate这意味着错误来自一个糟糕的DATABASE_URL值。
例如:用户应该是chris而不是postgres。
// wrong user
DATABASE_URL="postgresql://postgres:passw@localhost:5432/dbname?schema=public"
// correct user
DATABASE_URL="postgresql://chris:passw@localhost:5432/dbname?schema=public"确保您有正确的值。
https://stackoverflow.com/questions/71009640
复制相似问题