首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与阿波罗服务器-实体管理器的Mikro-orm配置

与阿波罗服务器-实体管理器的Mikro-orm配置
EN

Stack Overflow用户
提问于 2021-08-22 23:02:53
回答 1查看 459关注 0票数 1

我想找出如何将mikro-orm连接到psql与阿波罗图形to。我正试着遵循本·阿瓦德的“谎言”教程。

目前,我被这个配置卡住了。

这个代码块违反了mikro-orm原则,我不知道如何解决它们。

代码语言:javascript
复制
 const orm = await MikroORM.init<PostgreSqlDriver>(config);
  await orm.getMigrator().up();

const app = express();

const apolloServer = new ApolloServer({
  schema: await buildSchema({
    resolvers: [HelloResolver, PostResolver],
    validate: false
  }),
  context: () => ({ em: orm.em })
})

错误信息显示:

类型'{ schema: any;context:() => { em: any;}‘的参数不能分配给'Config’类型的参数。类型'{ schema: any;context:() => { em: any;}‘“类型”Config“中缺少下列属性:记录器、调试、缓存、formatError和6 more.ts(2345)参数(2345)类型'{解析器: typeof HelloResolver,Type of PostResolver;cache : boolean;}’不能分配给类型'BuildSchemaOptions‘的参数。对象文字只能指定已知属性,而“BuildSchemaOptions”类型中不存在“验证”。

我尝试修改types.ts配置如下:

代码语言:javascript
复制
import { EntityManager } from "@mikro-orm/postgresql";

export type MyContext = {
    em:  EntityManager
}

这两个问题都解决不了。

mikro-orm文档中有一个示例配置,它定义模式如下:

代码语言:javascript
复制
const schema: GraphQLSchema = await buildSchema({
        resolvers: [BookResolver, AuthorResolver],
        dateScalarMode: 'isoDate',
      });

为此,它需要:

代码语言:javascript
复制
import { GraphQLSchema } from 'graphql';

当我尝试这种方法时,我得到的错误与Ben使用的方法相同。

在解析器/post.ts中使用Ben的示例存在问题,如下所示:

代码语言:javascript
复制
@Resolver()
export class PostResolver {
    @Query(() => [Post])
    posts(@Ctx() { em }: MyContext): Promise<Post[]> {
        return em.find(Post, {});
    }
}

类型'Promise<{}[]>‘不能分配到键入'Promise’。 类型'{}[]‘不能指定为键入'Post[]’。类型‘Post’中缺少以下属性: id、createdAt、updatedAt、title

Graphql根本不识别post解析器。

有没有人知道如何在这一步完成配置,将mikro-orm与psql和阿波罗图形to连接(50分钟后进入本教程)?

EN

回答 1

Stack Overflow用户

发布于 2022-08-14 15:02:15

确保从正确的包导入buildSchema

代码语言:javascript
复制
import { buildSchema } from "type-graphql";

而不是来自:

代码语言:javascript
复制
import { buildSchema } from "graphql";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68885765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档