💡Aha!

Nest.js에서 PrismaClient 객체의 undefined 문제

문제점

새로 진행하는 프로젝트에서 TypeORM → Prisma 이관 작업을 진행하고 있다. 여느 때와 같이 class constructor에서 private prisma: PrismaService 를 이용하여 PrismaClient를 사용한다.

일부 prisma를 사용한 곳에서 PrismaClient 가 undefined로 나오는 기이한 현상이 발생했다. 더욱 문제인 부분은 극히 일부에서만 발생했다는 점.

TypeError: Cannot read properties of undefined (reading 'user')

타입 문제는 아니니, 서버 빌드는 정상적으로 이루어졌다. 다만 런타임 단에서 undefined이니 당연히 사용은 안되고.

해결법

어이 없게 해결되었는데, 해당 문제가 터지던 곳에는 class에 @Injectable 데코레이터가 적용되어 있지 않았던 것이다. 모두 붙여주니 정상적으로 동작했다.

심지어 이전에 TypeORM 사용 할 때는 문제가 없었어서 문제점으로 생각하고 있지 않았다.

여담

StackOverflow 스키마에서 model의 관계를 지정할 때 대소문자를 구분이 문제라는 이야기가 있어 모두 소문자로 변경해보았으나 당연히 문제가 없었다. 이전에도 잘 사용했기 때문.

2024 Dohyun Jung.
Made with ☕️.