인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

jurjur님의 프로필 이미지

작성한 질문수

따라하며 배우는 NestJS

게시물 생성하기

typeorm ^10.0.2 버전 사용시 No metadata for "BoardRepository" was found. 오류 발생 해결방법.

작성

·

162

·

수정됨

3

@nestjs/typeorm: ^10.0.2 버전에서도 정상 동작합니다.

아래 코드 참고하셔서 수정해 보세요.

 

  1. boards.module.ts 파일에서 providers 부분 수정.

    ...
    
    @Module({
      imports: [TypeOrmModule.forFeature([Board])],
      controllers: [BoardsController],
      providers: [BoardsService, BoardRepository], // BoardRepository 추가
    })
    export class BoardsModule {}
  2. board.repository.ts 파일에서 수정

    import { Injectable } from '@nestjs/common';
    import { DataSource, Repository } from 'typeorm';
    
    import { Board } from './board.entity';
    import { CreateBoardDto } from './dto/create-board.dto';
    import { BoardStatus } from './board-status.enum';
    
    @Injectable() // 변경
    export class BoardRepository extends Repository<Board> {
    
      // constructor 추가
      constructor(dataSource: DataSource) {
        super(Board, dataSource.createEntityManager());
      }
    
    }

 

답변 1

0

유라님의 프로필 이미지

혹시 그러면 모듈파일에 해당 레포지토리 추가할때

@Module({
  imports: [TypeOrmModule.forFeature([생성한 엔티티파일])],
  controllers: [AController],
  providers: [
   AService,
   ARepository,
   BRepository,
   CRepository,
  ],
})
export class ~module {}

이런식으로 엔티티 파일이 여러개일 경우 레포지토리도 아래처럼 추가하는게 맞을까요 ?

jurjur님의 프로필 이미지

작성한 질문수

질문하기