【发布时间】:2020-10-17 03:39:11
【问题描述】:
我在 Heroku 上部署了一个 Prisma 1 GraphQL 服务器应用,连接到一个 MongoDB Atlas 集群。
使用默认端点http://localhost:4466 在本地运行prisma deploy,操作成功运行并且所有模式都正确生成。
但是,如果我使用 Heroku 远程主机 https://<myapp>.herokuapp.com 更改端点,prisma deploy 将失败,返回此异常:
错误:GraphQL 错误(代码:404) { "错误": "\n\n\n\n错误\n\n\n
无法发布/管理\n\n\n", “状态”:404 }
我认为这可能与身份验证问题有关,但我感到困惑,因为我在 prisma.yml 中定义了安全令牌,而不是在 docker-compose.yml 中定义了管理 API 密钥。
如果有帮助,这是我当前的配置:
prisma.yml
# The HTTP endpoint for your Prisma API
# Tried with https://<myapp>.herokuapp.com only too with the same result
endpoint: https://<myapp>.herokuapp.com/dinai/staging
secret: ${env:PRISMA_SERVICE_SECRET}
# Points to the file that contains your datamodel
datamodel: datamodel.prisma
databaseType: document
# Specifies language & location for the generated Prisma client
generate:
- generator: javascript-client
output: ../src/generated/prisma-client
# Ensures Prisma client is re-generated after a datamodel change.
hooks:
post-deploy:
- prisma generate
docker-compose.yml
version: '3'
services:
prisma:
image: prismagraphql/prisma:1.34
restart: always
ports:
- "4466:4466"
environment:
PRISMA_CONFIG: |
port: 4466
# uncomment the next line and provide the env var PRISMA_MANAGEMENT_API_SECRET=my-secret to activate cluster security
managementApiSecret: ${PRISMA_MANAGEMENT_API_SECRET}
databases:
default:
connector: mongo
uri: mongodb+srv://${MONGO_DB_USER}:${MONGO_DB_PASSWORD}@${MONGO_DB_CLUSTER}/myapp?retryWrites=true&w=majority
database: myapp
另外,一个奇怪的情况也发生了。在这两种情况下,如果我尝试使用 GraphQL Playground 导航生成的 API,单击“架构”选项卡会返回错误。另一方面,“文档”选项卡已正确填充。显然,似乎异常阻止了脚本完成以生成其余模式。
有 Prisma/Heroku 经验的人提供一点帮助会很棒。
提前致谢。
【问题讨论】:
标签: mongodb docker heroku graphql prisma