您如何使用具有多个突变的自定义文件正确播种 prisma DB?

Posted

技术标签:

【中文标题】您如何使用具有多个突变的自定义文件正确播种 prisma DB?【英文标题】:How do you correctly seed a prisma DB with a custom file that has multiple mutations? 【发布时间】:2019-06-01 19:42:03 【问题描述】:

我正在尝试使用我创建的自定义文件为我的 Prisma DB 播种,然后我在 prisma.yml 中引用该文件。在这个文件中,我有一些突变——没什么太疯狂的。当我有一个突变时,一切似乎都运行良好。但是,如果我添加多个,我最终会收到此错误:Must provide operation name if query contains multiple operations: "response":"data":null,"errors":["message":"Must provide operation name if query contains multiple operations"],"status":200。我认为这个operation namemutation createSomething ... 中的createSomething,但我想事实并非如此。我在这里有什么遗漏吗?

在操场上进行多个突变似乎也可以正常工作。看起来问题在于播种机试图一个接一个地运行它们。

prisma.yml

seed:
  import: seeds/something.graphql

something.graphql

mutation createSomething 
  createSomething(data:  key1: "val1", key2: "val2" ) 
    key1
    val1
  

【问题讨论】:

【参考方案1】:

想出了答案。

事实证明,您需要将它们全部嵌套在 mutation 关键字下,然后给它们取别名以允许多个突变。

mutation 
  something1: createSomething(data: 
    key1: "val1"
  )
  something2: createSomething(data: 
    key2: "val2"
  )

【讨论】:

以上是关于您如何使用具有多个突变的自定义文件正确播种 prisma DB?的主要内容,如果未能解决你的问题,请参考以下文章

如何使具有多个 init args 的自定义异常类可腌制

如何使用 graphene-django 定义突变的自定义输出类型?

sequelize 播种机上的自定义查询

具有多个子项目的项目列表的自定义适配器?

如何在具有多个参数的自定义函数中使用 mutate

如何在 MapControl 中动态使用具有多个引脚的多个自定义弹出窗口