将 primsa 模式导入 graphql 模式

Posted

技术标签:

【中文标题】将 primsa 模式导入 graphql 模式【英文标题】:Import primsa schema into graphql schema 【发布时间】:2020-12-19 12:39:06 【问题描述】:

我正在将一个项目从 graphql-yoga 更新到 apollo-server。我使用这一行 # import * from './generated/prisma.graphql' 将 primsa 模式加载到我的 graphql 模式 (schema.graphql) 中,然后在 graphql-yoga 下将 prisma 类型导入到模式中。

但是,由于是瑜伽这样做,从瑜伽升级时,这根本不会发生。我设法使用 graphql-import 让它工作(假设它导入架构),但是由于它已被弃用,我无法将其用作解决方案。

请问有谁知道我如何使用 graphql-tools 来实现这一点?下面是我如何创建我的 apollo-server 实例。

const sources = loadTypedefsSync(__dirname + '/schema.graphql',  loaders: [new GraphQLFileLoader()] )

const typeDefs = sources.map(source => source.document)

const schema = makeExecutableSchema( typeDefs, ...resolvers )
const schemaWithMiddleware = applyMiddleware(schema, permissions)

const server = new ApolloServer(
    schema: schemaWithMiddleware,
    context: ( req ) => (
      ...req,
      db
    ),

  )

提前致谢

【问题讨论】:

【参考方案1】:

GraphQL Import 的维护者建议迁移到 GraphQL Tools。 GraphQL 工具在文档中提供了从 GraphQL 导入示例直接迁移。

Migration from GraphQL Import

【讨论】:

以上是关于将 primsa 模式导入 graphql 模式的主要内容,如果未能解决你的问题,请参考以下文章

如何将graphql模式导入graphene-python程序?

导入 GraphQL 解析器和模式触发错误

如何从 GraphQL 模式创建验证规则

Page 类的 graphql 模式定义应该是啥样的?

typescript 中不同 GraphQL 语法的优缺点

我们如何从 apollo-server 模块传递 ApolloServer 中的数据源和合并的 graphql 模式和解析器?