问题标签 [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.

0 投票
0 回答
2021 浏览

docker - 如何在单个 docker 容器中传递运行 Prisma 服务器的环境变量

文档中包含的 docker-compose.yml 示例非常适合本地开发,在这种开发中人们可能使用 docker 运行多个服务:

但是,在生产中,容器中没有运行 db。事实上,我们正在使用 DBaaS 来托管我们的数据库。我们使用的数据库是 Mongo。

因此,我们需要从 Prisma 服务器切换docker-compose updocker run...

我们面临的问题是如何设置 Prisma 容器运行所需的所有环境变量。

我看到两种可能的选择:

  1. 将单个变量传递给容器
  2. 只传递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

0 投票
0 回答
613 浏览

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 查询:

预期行为:用户可以单击用户列表中的单个用户,以下页面将包含有关该用户的详细信息。

实际结果:它可以工作,但也会产生控制台错误:

0 投票
1 回答
1351 浏览

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 上显示的方式相同。

0 投票
2 回答
1020 浏览

graphql - Prisma 查询解析器失败:“where 选择器的参数无效”

我设置了prisma一个graphql yoga服务器,并且两个 GraphQL 游乐场都可用。

我可以成功创建一个我现在正在尝试检索的对话。我无法让这个简单的解析器在 Yoga GraphQL Playground 中工作:

我使用了这个查询:

错误信息是:

该查询在 Prisma GraphQL 操场上工作。

这是我的数据模型:

0 投票
1 回答
78 浏览

docker - docker swarm deploy 上的 Prisma 配置错误

我正在尝试在我的 docker swarm 上部署 prisma 服务,但收到了:

错误:“services.prisma.environment.2 必须是字符串”

使用以下 docker-compose,服务运行良好。

0 投票
1 回答
371 浏览

typescript - Typescript/Prisma:无法使用自定义解析器生成 CRUD 操作

问题

我是Prisma的新手,我只是按照一些教程通过 Docker 将我的数据库托管在本地。(我使用 Typescript 作为我的语言)。

我已经为单独的文件中的用户创建编写了一些自定义解析器(我的文件结构如下),并且在使用prisma deploy.

部署到 后localhost,将为我的每个数据模型生成所有createModelupdateModel等操作,但我的signUplogIn函数没有。

问题

是否可以使用 CRUD 操作和自定义解析器部署我的 GraphQL 服务器?如果是这样,怎么做?我正在使用 Prisma 1.26。

提前致谢。

0 投票
0 回答
141 浏览

prisma-graphql - 在 GraphQL 服务器中设置主机名

请告诉我如何在 GraphQLServer (graphql-yoga) 中设置主机名?我想将主机名设置为我的域名(位于 Ubuntu 服务器上)并使用它而不是“localhost”,但不幸的是它不起作用。

我使用了以下代码:

我想将主机名设置为我的域名并使用它而不是“localhost”,但不幸的是它不起作用。

你能帮帮我吗?

谢谢。大卫

0 投票
1 回答
495 浏览

prisma - Prisma.io 多对多关系会产生错误

我有一个 graphql 架构

因此,一个标签可以应用于许多帖子,一个帖子可以有很多标签。

Prisma 生成代码没有任何问题,但运行 graphql 服务器会给出

我正在使用带有 Prisma 和 Mysql 的 docker。有可能有这样的关系吗?如果是这样,我做错了什么?

0 投票
1 回答
262 浏览

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

0 投票
1 回答
422 浏览

node.js - postgreSQL 的 prisma deploy 命令

我正在使用 Nodejs、graphQl、Prisma、docker 和 PostgreSQL,每当我更改 Schema 时,我都必须部署它,但它会给出如下错误

错误:当正在进行部署或已安排待定部署时,您无法部署到服务阶段。请部署完成后重试

“代码”:4008,

“状态”:200

然后我等待几分钟再试一次结果是一样的,我尝试了很多但结果是一样的