❌ 난관 봉착
nestjs의 TypeORM 은 3.0부터 EntityRepository 가 deprecated 되어서 사용할 수 없다
따라서 최신의 TypeORM 에서 이 커스텀 레포지토리를 사용하려면
커스텀 데코레이터를 만들어서 어찌저찌 하면 되긴 한다
하지만 일단은 예제를 따라 공부하는 중이기 때문에 TypeORM을 강제로 2.0으로 낮췄다
npm i --save typeorm@0.2
📝 package.json
"dependencies": {
"@nestjs/common": "^8.0.0",
"@nestjs/config": "^2.1.0",
"@nestjs/core": "^8.0.0",
"@nestjs/platform-express": "^8.0.0",
"@nestjs/typeorm": "^8.0.1",
"class-transformer": "^0.5.1",
"class-validator": "^0.13.2",
"dotenv": "^16.0.1",
"pg": "^8.7.3",
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"rxjs": "^7.2.0",
"typeorm": "^0.2.45",
"uuid": "^8.3.2"
},
typeorm 버전이 0.2.45로 강제로 다운그레이드 되었다
이제 @EntityRepository 데코레이터 사용 가능하다
하지만 이렇게만 했을 경우 서버 실행이 안되는데...
바로 RepositoryNotFoundError 가 뜨는 것이다
ERROR [ExceptionHandler] No repository for "BoardRepository" was found. Looks like this entity is not registered in current "default" connection?
RepositoryNotFoundError: No repository for "BoardRepository" was found. Looks like this entity is not registered in current "default" connection?
바로 Entity가 등록이 안되었다고 하면서 연동이 안되는데...
이 문제로 스택 오버플로우 겁나 뒤져가면서 찾아도 엔티티 등록하는 것 밖에 안알려줬다
그러다가 인프런 검색하니까 바로 해결했다
바로바로 typeorm 과 같이 사용하는 @nestjs/typeorm 버전도 낮춰야 한다는 것이다...
이걸 몰라서 2시간 넘게 삽질했다 ㅠ
npm i @nestjs/typeorm@8.0.1 --save
강제로 8.0.1로 다운그레이드 시켜주었다
이제 잘켜진다
열어분들은 삽질하지 마시길
'📡 백엔드 > 🐱 Nest.js' 카테고리의 다른 글
[NestJs] 따라하면서 배우는 NestJs - 6 (auth 모듈 구현) (0) | 2022.07.07 |
---|---|
[NestJs] 따라하면서 배우는 NestJs - 5 (레포지토리 구현 및 DB 이용 CRUD) (0) | 2022.07.07 |
[NestJs] 따라하면서 배우는 NestJs - 4 (Postgres, TypeORM 적용) (0) | 2022.07.05 |
[NestJs] 따라하면서 배우는 NestJs - 3 (pipe와 validation) (0) | 2022.07.04 |
[NestJs] 따라하면서 배우는 NestJs - 2 (기본적인 CRUD 수행) (0) | 2022.07.04 |