inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 NestJS

ID를 이용해서 특정 게시물 가져오기

[해결]EntityMetadataNotFoundError: No metadata for "BoardRepository" was found

1341

Yoonho Lee
2

왠만하면 최신버전으로 진행하느라

 

@nestjs/typeorm@10.0.0

 typeorm@0.3.x

로 진행중에 만난 오류입니다.

 

해당 강좌 커뮤니티에 검색해보면 나오지만,
typeorm의 버전이 0.2.x와 0.3.x의 사용법 차이로 생기는 문제입니다.

 


--해결법--

npm i typeorm@0.2.45

를 통해 typeorm의 버전을 낮춰 줍니다.(@nest/typeorm은 그냥 높은 버전 썼습니다)

 

  1. board.service.ts

1-1

  constructor(
    @InjectRepository(BoardRepository)
    private boardRepository:BoardRepository
  ){}

-> InjectRepository를 Repository에서 Entity로 변경

  constructor(
    @InjectRepository(Board)
    private boardRepository:BoardRepository
  ){}

 

1-2

const found = await this.boardRepository.findOneBy({id})

->typeorm0.3의 문법을 0.2의 문법으로 변경

const found = await this.boardRepository.findOne(id)

 

  1. board.module.ts

@Module({
  imports: [
    TypeOrmModule.forFeature([BoardRepository])
  ],
  controllers: [BoardsController],
  providers: [BoardsService]
})

->forFeature()의 Repository를 Entity로 변경

@Module({
  imports: [
    TypeOrmModule.forFeature([Board])
  ],
  controllers: [BoardsController],
  providers: [BoardsService]
})

 


이렇게 변경하면 잘 되는거 같습니다.

 

이대로 강의 진행해보고 typeorm0.3 진행해봐야겠네요~

 

postgresql jwt nestjs typeorm

답변 0

속았어요 ㅠㅠ, 왕초보인데, gui 이었으면..

0

391

0

안녕하세요 질문있습니다!

0

408

1

서브쿼리

0

425

1

api 연결에 대해서

0

490

1

혹시 쿼리를 빨리 읽는 방법이 있을까요?

0

993

1

Frontend도 공부하고 싶은데, NEXT JS 와 Flutter 중 무엇이 나을까요

0

1046

1

보충 강의 감사합니다

0

395

0

선생님 방탈출 질문 죄송한데요 고민있어요

0

487

0

hook 이나 utils 함수 작성시

1

590

1

사이트 만들고 공유해도 되나요?

0

313

1

SQL Error [42501]: ERROR: permission denied for database postgres

0

732

0

버전을 맞추었는데도 오류가 발생합니다. (pd ver: 2.0.3, sqlalchemy: 2.0.0)

0

2309

1