问题标签 [prisma-graphql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - 如何在单个 docker 容器中传递运行 Prisma 服务器的环境变量
文档中包含的 docker-compose.yml 示例非常适合本地开发,在这种开发中人们可能使用 docker 运行多个服务:
但是,在生产中,容器中没有运行 db。事实上,我们正在使用 DBaaS 来托管我们的数据库。我们使用的数据库是 Mongo。
因此,我们需要从 Prisma 服务器切换docker-compose up
到docker run...
。
我们面临的问题是如何设置 Prisma 容器运行所需的所有环境变量。
我看到两种可能的选择:
- 将单个变量传递给容器
- 只传递
PRISMA_CONFIG_PATH
指向 yml 配置文件的变量,例如,prisma_config.yml
选项1
在 docker-compose.yml 中,PRISMA_CONFIG
变量作为多行字符串传递。
在网上搜索发现对应的单个变量列表应该是:
码头工人
所有这些 var 都设置在一个 env 文件中
docker run -p 4466:4466 --env-file prisma.env prismagraphql/prisma:1.25
它们似乎适用于 SQL 数据库,但不适用于 Mongo。
使用 Mongo 时我设置了错误的值或变量名称不同。
选项 2
PRISMA_CONFIG_PATH=prisma.config.yml
在运行容器时传递单个 env var :
docker run -p 4466:4466 -e PRISMA_CONFIG_PATH=prisma.config.yml prismagraphql/prisma:1.25
我收到以下错误
Exception in thread "main" java.lang.RuntimeException: Unable to load Prisma config: java.io.FileNotFoundException: prisma_config.yml (No such file or directory)
我不知道 prisma docker 映像的工作目录是什么。我想这会解决它。
编辑
我能够使其与 Option#2 一起使用
prisma_config.yml
graphql - 功能有效,但控制台提供无关错误:“未提供所需类型“ID!”的变量“$id”。”
我的 CRUD 操作有效。但是它们中的许多也产生了一个我无法追踪的单一的、特定的控制台错误。
[GraphQL error]: Message: Variable "$id" of required type "ID!" was not provided., Location: [object Object], Path: undefined
示例:我可以查看用户列表而不会产生错误,并且我可以访问单个用户的“详细信息”视图而不会产生错误。这两个单独工作很好。但不知何故,从前者遍历到后者会产生错误。
我在 GraphQL-Playground 中测试了两个查询(用户和用户),没有收到错误。我还尝试将 ID 作为“String”类型而不是“ID!”类型。(也没有!)。我尝试了其他将用户 ID 提供给解析器的“hacky”方式。我已经尝试传递其他字段来代替查询解析器中的“信息”参数。
重申一下,单独查看任一页面(即:清除控制台并重新加载任一页面)不会触发错误。这似乎是关于从/users
到的旅程user?id=12345
。
来自 datamodel.prisma:
来自 schema.graphql 中的查询对象:
user(id: ID!): User
用户查询解析器:
使用 react-apollo 和 graphql-tag 包的 gql 查询:
预期行为:用户可以单击用户列表中的单个用户,以下页面将包含有关该用户的详细信息。
实际结果:它可以工作,但也会产生控制台错误:
node.js - 为什么在预检请求后 Chrome 不在开发工具网络选项卡上显示 POST 请求?
我有一个在http://localhost:7777运行的 React Apollo 客户端和一个在http://localhost:4444 运行的 Graphql-Yoga 服务器
当我通过 react-apollo 执行突变时,它们在后端按预期工作。
当我通过 Firefox 执行突变时(预检请求 + 发布请求)记录在 Chrome DevTools 中。
但是,当我通过 Chrome 执行突变时,DevTools 上只记录了预检请求。
在这两种情况下,突变都按预期发生,我想知道为什么谷歌浏览器没有在其网络选项卡上显示 POST 请求。
说明图:
图片网址:http: //i.imgur.com/E8DQnIB.png
我已经尝试使用 express cors 中间件,但它确实挂起了服务器。
创建服务器.js
index.js
运行时启动服务器的文件npm run dev
我希望在 Chrome DevTools 网络选项卡上看到发布请求日志,与在 Firefox 上显示的方式相同。
graphql - Prisma 查询解析器失败:“where 选择器的参数无效”
我设置了prisma
一个graphql yoga
服务器,并且两个 GraphQL 游乐场都可用。
我可以成功创建一个我现在正在尝试检索的对话。我无法让这个简单的解析器在 Yoga GraphQL Playground 中工作:
我使用了这个查询:
错误信息是:
该查询在 Prisma GraphQL 操场上工作。
这是我的数据模型:
docker - docker swarm deploy 上的 Prisma 配置错误
我正在尝试在我的 docker swarm 上部署 prisma 服务,但收到了:
错误:“services.prisma.environment.2 必须是字符串”
使用以下 docker-compose,服务运行良好。
typescript - Typescript/Prisma:无法使用自定义解析器生成 CRUD 操作
问题
我是Prisma的新手,我只是按照一些教程通过 Docker 将我的数据库托管在本地。(我使用 Typescript 作为我的语言)。
我已经为单独的文件中的用户创建编写了一些自定义解析器(我的文件结构如下),并且在使用prisma deploy
.
部署到 后localhost
,将为我的每个数据模型生成所有createModel
、updateModel
等操作,但我的signUp
和logIn
函数没有。
问题
是否可以使用 CRUD 操作和自定义解析器部署我的 GraphQL 服务器?如果是这样,怎么做?我正在使用 Prisma 1.26。
提前致谢。
prisma-graphql - 在 GraphQL 服务器中设置主机名
请告诉我如何在 GraphQLServer (graphql-yoga) 中设置主机名?我想将主机名设置为我的域名(位于 Ubuntu 服务器上)并使用它而不是“localhost”,但不幸的是它不起作用。
我使用了以下代码:
我想将主机名设置为我的域名并使用它而不是“localhost”,但不幸的是它不起作用。
你能帮帮我吗?
谢谢。大卫
prisma - Prisma.io 多对多关系会产生错误
我有一个 graphql 架构
因此,一个标签可以应用于许多帖子,一个帖子可以有很多标签。
Prisma 生成代码没有任何问题,但运行 graphql 服务器会给出
我正在使用带有 Prisma 和 Mysql 的 docker。有可能有这样的关系吗?如果是这样,我做错了什么?
graphql - How to use same generated ID in two fields prisma-graphql
I'm implementing a graphql prisma datamodel. Here I have a type called BankAccount
. I may need to update and delete them as well. I'm implementing this as immutable object. So, when updating I'm adding updating the existing record as IsDeleted and add a new record. And when updating an existing record I need to keep the id of the previous record to know which record is updated. So, I've came up with a type like this
Here the parentBankAccount
keeps the id of previous BankAccount
. I'm thinking when creating a bank account, setting the parentBankAccount
as same as the id
as it doesn't have a parent. The thing is I'm not sure it's possible. I'm bit new to GraphQL. So, any help would be appreciated.
Thanks
node.js - postgreSQL 的 prisma deploy 命令
我正在使用 Nodejs、graphQl、Prisma、docker 和 PostgreSQL,每当我更改 Schema 时,我都必须部署它,但它会给出如下错误
错误:当正在进行部署或已安排待定部署时,您无法部署到服务阶段。请部署完成后重试
“代码”:4008,
“状态”:200
然后我等待几分钟再试一次结果是一样的,我尝试了很多但结果是一样的