[RepositoryNotFoundError] TypeORM에서 Entity를 찾지 못하는 문제 해결 방법
-
TypeORM에서 Entity를 읽어오지 못하는 현상 발생 시 해결 방안
TypeORM은 RDS(관계형 데이터베이스)의 데이터를 객체와 매핑(mapping)시켜서 데이터를 객체지향적으로 정의하고 관리할 수 있도록 하는 라이브러리이다.
개인적으로 Node.js로 RDS의 스키마를 정의해서 연결할 때 자주 사용한다.
그런데 정의한 Entity를 TypeORM으로 DB와 연결할 때 다음과 같은 문제가 발생할 수 있다.
{
"name": "RepositoryNotFoundError",
"message": "No repository for [Entity명] was found. Looks like this entity is not registered in current 'default' connection?"
}
예를 들어, 사용자(Users)에 관한 Entity를 정의했는데 TypeORM이 이를 찾지 못하는 경우 다음과 같이 Error가 뜰 것이다.
"message": "No repository for 'Users' was found. Looks like this entity is not registered in current 'default' connection?"
TypeORM에서 entities의 경로를 제대로 읽지 못하는 현상으로 보이는 이 오류 때문에 꽤나 고생한 적이 있다.
DB 연결이 제대로 되었는지부터 확인한다.
오류 해결 전에 우선 정말 DB와 제대로 연결되었는지부터 확인하는 게 좋다. 무슨 초보적인 답변이냐고 할 수 있는데, 정말 중요한 점검사항이다.
이상하게 DB connection이 끊겼다고 뜨지 않고 entity를 못 가져온다고 Error가 떠서 괜히 entities 설정 문제인 줄 알고 며칠을 덤벼들었다가 큰 코 다쳤다... 😭