Bird
0
0

In a NestJS app, you want to ensure Prisma Client connects once on app start and disconnects on shutdown. Which approach is best?

hard📝 Application Q15 of 15
NestJS - Database with Prisma
In a NestJS app, you want to ensure Prisma Client connects once on app start and disconnects on shutdown. Which approach is best?
ACall prisma.$connect() before every query and prisma.$disconnect() after every query
BCreate a new PrismaClient instance inside every controller method
CCreate PrismaClient instance in a service, call prisma.$connect() in onModuleInit(), and prisma.$disconnect() in onModuleDestroy()
DUse PrismaClient without calling connect or disconnect methods
Step-by-Step Solution
Solution:
  1. Step 1: Understand PrismaClient lifecycle

    PrismaClient should connect once when app starts and disconnect on shutdown to manage resources efficiently.
  2. Step 2: Evaluate options

    Creating a single PrismaClient instance in a service and using $connect() in onModuleInit() and $disconnect() in onModuleDestroy() leverages NestJS lifecycle hooks properly. Connecting/disconnecting per query, creating new instances per method, or skipping explicit management leads to overhead or resource leaks.
  3. Final Answer:

    Create PrismaClient instance in a service, call prisma.$connect() in onModuleInit(), and prisma.$disconnect() in onModuleDestroy() -> Option C
  4. Quick Check:

    Use lifecycle hooks for Prisma connection [OK]
Quick Trick: Connect once on start, disconnect on shutdown using lifecycle hooks [OK]
Common Mistakes:
  • Creating PrismaClient multiple times
  • Connecting/disconnecting on every query
  • Ignoring connect/disconnect lifecycle

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More NestJS Quizzes