问题标签 [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.
graphql - 如何将参数传递给 GraphQL 中的子属性
我对 GraphQL 很陌生,正在成为一个超级粉丝 :)
但是,我不清楚。我正在使用 Prisma 和 GraphQL-Yoga 和 Prisma 绑定。
我不知道如何将参数从我的 graphQL 服务器传递到子属性。不知道这是否清楚,但我会用代码显示它,希望更容易:)
这些是我的类型
我的 schema.graphql
和我的用户解析器:
和我的帖子解析器
所以,现在:)
当我在我的 prisma 服务上的 GraphQL 操场上时,我可以执行以下操作:
但我不能在服务器上做,如果我做这样的事情..我收到错误:
这就是我正在尝试的:
有人知道我该怎么做吗?
prisma - 如何在 Prisma 中对所有东西进行核武器攻击?
我将 Prisma 1.9 与 Postgres 一起使用。
我怎样才能重置一切?我已经尝试过prisma local nuke
,但是这个命令会添加 MySQL 容器(以某种方式),然后它会抛出端口4466
正在使用的错误......
我也尝试重新创建所有 docker 容器和图像,但这也没有帮助。
那么,正确的方法是什么?prisma reset
只删除数据,但我也想删除架构。我想全部擦除。
graphcool - Prisma orderBy 在 Playground 之外的解析器/查询中
好的,所以我已经与 Prisma 合作了几个星期,并且取得了很大的进步,我喜欢实现许多高级功能的设置/易用性。
我正试图对表字段进行排序。
我可以选择(在其他领域中)按term_ASC
和排序term_DESC
。
假设以下查询定义:MyConnection(filter: String, order: MyOrderByInput, limit: Int, offset: Int): MyConnection!
如果我在 GraphQL Playground 中运行以下代码,它可以正常工作:
要点/问题... term_ASC/DESC 的用法在操场上有效,但我如何在我的 JS 中传递它?
如果我用引号“term_ASC”将它包装起来,就会出现错误,如果它没有被包装,那么它(解析器/api)会抛出一个明显未定义的变量的错误。
因此,我尝试测试如何通过变量(硬编码,在此示例中注释掉)或在通过我的 args.order 传递到解析器之前测试如何传递这个 orderBy 变量的部分,我无法弄清楚那是怎么回事应该通过。
error-handling - 仅返回 GraphQL 中的子解析器错误
以下是架构
以下是有效载荷的解析器
当我从子解析器(此处为有效负载解析器)抛出错误时,graphql 仍然返回从父解析器返回的所有有效负载数据,并且仅对于用户字段它返回错误。我们可以更改此行为以仅返回子解析器抛出的错误吗?
javascript - GraphQL 突变抛出错误
更新
我已经缩小到引发错误的位置,这似乎是一个Prisma
问题。
错误发生在投票功能中:
原来的
我正在学习本教程。
我正在尝试为帖子“投票”,但会引发以下错误:
我发送的突变是:
不完全确定此错误的含义。我一直在将我的代码与Github 上的官方 repo进行比较,但我找不到区别。
这是我的投票功能:
当我注销时,args
它显示:
我创建了一个新用户,与该用户创建了一个帖子(两者都工作正常),但是当我尝试以该用户的身份投票时,我被困在这里。
datamodel.schema
如果你愿意,我的:
graphql - 如何在 @default 指令中创建计算值
谁能指出我正确的方向?使用Prisma's SDL
我想用这样的@default
指令创建一个计算值……</p>
graphql - 如何在保证订阅准备就绪的情况下执行突变?
以前,在 GraphQL 协议中有一条特殊的消息确认订阅:SUBSCRIPTION_SUCCESS(服务器 -> 客户端)。现在它已被弃用:在 apollographql和prismagraphql 中。为什么不再需要?
例如,我正在订阅
subscription commentAdded {
commentAdded(repoFullName: "test"){
id
}
}
我立即执行突变,
mutation submitComment {
submitComment(repoFullName: "test", commentContent: "test_msg") {
id
content
}
}
据我了解,这两个动作是异步执行的。并且服务器上的订阅处理和源事件流的创建可能需要一些时间。客户如何确定突变会触发此订阅?或者......是否应该等到订阅完成后才向服务器发出所有突变请求?
graphql - 如何将 GraphQL 查询从 Node.js 发送到 Prisma
我刚刚学习了如何使用graphql-yoga
并prisma-binding
基于HowToGraphQL 教程创建 GraphlQL 服务器。
问:到目前为止查询数据库的唯一方法是使用通过运行命令启动的 Prisma Playground 网页graphql playground
。
是否可以从 Node.js 脚本执行相同的查询?我遇到了 Apollo 客户端,但它似乎是为了在 React、Vue、Angular 等前端层使用。
graphql - graphql-cli 输出不产生@unique
我正在为 Prisma 服务器生成一个数据模型,使用graphql-cli
. 但是,graphql-cli
在没有的情况下继续生成 id 属性@unique
,当我将其部署到 prisma 演示服务器时出现此错误。
该字段
id
是保留的,必须具有以下格式:id:ID!@独特的。
所以我的问题是如何让 graph-cli 生成@unique?
我的 prisma.graphql(aka datamodel.graphql) 有
这种类型应该是
架构.graphql
.graphqlconfig.yml
我运行的命令
graphql get-schema --project prisma --dotenv .env.dev
谢谢!
graphql - Prisma:工作流程是什么?
刚刚开始使用 Prisma 作为将 GraphQL 和 MySQL 集成到我正在从事的新项目中的一种方式。太棒了,我喜欢它的简单布局。关于使用 Prisma 开发时要遵循的工作流程,我有一些问题困扰着我。
例如:
昨天我按照教程设置了基本的 Prisma 和 GraphQL 服务器。这一切都运作良好。我的 datamodel.graphql 中只有一个类型。
今天早上我醒来并开始研究另一种类型,并将其添加到我的 datamodel.graphql 中。Docker 正在运行,我使用解析器更新 index.js 以支持新模型及其查询/突变。但是,在使用运行系统时,node ./index.js
我收到一条错误消息,说它不知道新模型。我怀疑 Prisma 架构尚未刷新/更新,所以我运行graphql get-schema --project prisma
但它告诉我没有任何改变。
显然我错过了一些东西。我没有以它想要的方式与 Prisma 合作。谁能告诉我事情的顺利进行必须发生的事件顺序?
该教程非常适合让您启动和运行,但我觉得它并不能很好地向开发人员介绍在日常连续开发周期中使用 Prisma 的流程。
任何信息/见解/链接都会非常有用。
非常感谢,
一个
更新
对于其他对工作流程有点迷茫的人。查看 CLI 参考。它对于所有与 Prisma 相关的任务都非常有用(不一定与您的 GraphQL 服务器有关)。关联
TL;博士:
每次数据模型更改时,您都需要重新部署 prisma 服务,以便生成的 prisma.graphql 可以使用新功能更新以与数据库一起使用。我跑了prisma deploy
,瞧!