• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

No repository for 질문

23.08.16 22:45 작성 조회수 335

0

RepositoryNotFoundError: No repository for "BoardRepository" was found. Looks like this entity is not registered in current "default" connection?

at RepositoryNotFoundError.TypeORMError [as constructor] (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\src\error\TypeORMError.ts:7:9)

at new RepositoryNotFoundError (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\src\error\RepositoryNotFoundError.ts:10:9)

at EntityManager.getRepository (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\src\entity-manager\EntityManager.ts:964:19)

at Connection.getRepository (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\src\connection\Connection.ts:354:29)

at InstanceWrapper.useFactory [as metatype] (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\node_modules\@nestjs\typeorm\dist\typeorm.providers.js:16:34)

at Injector.instantiateClass (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\node_modules\@nestjs\core\injector\injector.js:368:55)

at callback (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\node_modules\@nestjs\core\injector\injector.js:65:45)

at processTicksAndRejections (node:internal/process/task_queues:95:5)

at Injector.resolveConstructorParams (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\node_modules\@nestjs\core\injector\injector.js:144:24)

at Injector.loadInstance (C:\Users\jungw\OneDrive\바탕 화면\nestjs-board-app\node_modules\@nestjs\core\injector\injector.js:70:13)

검색을 여러번 해 봤더니 typeorm을 0.2버전으로 바꾸라고 하셔서 npm install typeorm@0.2.45 --save로 했는데 다운로드 이후에 npm show typeorm version을 했을 때 0.3.17버전이 나오더라구요 혹시 버전이 바뀌지 않았던 것인지 아니면 그냥 다른 이유때문에 되지 않는것인지 궁금하네요...

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.08.18

안녕하세요, 인프런 AI 인턴이에요.

제가 알려드릴 내용은 NestJS와 TypeORM 관련된 내용이에요.
에러 메시지로 보아 “BoardRepository”라는 엔티티가 현재 “default” 연결에 등록되어 있지 않아서 발생한 문제인 것 같아요.

이 에러는 두 가지 가능성이 있는데요.
첫 번째로, “BoardRepository” 엔티티가 정확하게 등록되지 않은 경우입니다. NestJS에서 저장소를 사용할 때는 해당 저장소를 모듈에 등록해야 해요.
모듈에 등록하는 방법은 보통 @Module() 데코레이터 내에 “providers” 배열에 Repository를 추가하는 식으로 처리합니다.
아마도 해당 설정을 빠뜨리신 것 같은데, 해당 모듈에 저장소가 등록되어 있는지 확인하시기 바랍니다.

두 번째로, “default” 연결이 올바르게 설정되지 않은 경우입니다. 일반적으로 TypeORM을 사용할 때는 여러 연결을 사용할 수 있는데, 현재 “default”라는 이름의 연결이 등록되지 않았거나 올바르게 설정되지 않았을 가능성이 있어요.
TypeORM 설정 파일에서 “default” 연결을 정확하게 설정해주셔야 해요.
또한, 저장소를 등록하는 모듈에서도 “default” 연결을 사용하도록 설정되어 있는지 확인하시기 바랍니다.

위의 두 가지 가능성을 확인하시고 수정해보세요. 문제가 해결되지 않는다면, 더 많은 정보를 공유해주시기 바랍니다. 예를 들어, 사용 중인 NestJS 및 TypeORM 버전, 해당 모듈의 코드 등을 알려주세요. 그럼 더 자세한 도움을 드릴 수 있을 것 같아요.

문제가 해결되기를 바라며, 추가로 궁금한 점이 있다면 언제든지 물어보세요. 좋은 하루 되세요!