Khai báo globalThis cho PrismaClient như nào?
Trong TypeScript (hoặc JavaScript), để khai báo globalThis
cho PrismaClient
nhằm tránh tạo nhiều instance khi sử dụng trong môi trường phát triển (development
), bạn có thể làm như sau:
Cách 1: Sử dụng globalThis
trong TypeScript
globalThis
trong TypeScriptCách 2: Sử dụng trong JavaScript (không cần declare global
)
declare global
)Tại sao cần globalThis
?
globalThis
?Trong môi trường phát triển (development), nếu bạn dùng
hot reload
hoặcnodemon
, có thể sẽ tạo nhiều instance củaPrismaClient
, dẫn đến lỗi "Too many connections" với database.globalThis
giúp lưu instance duy nhất trong toàn bộ ứng dụng.
Kiểm tra:
Chạy
console.log(prisma);
để kiểm tra xem instance có bị tạo nhiều lần không.
Cách này giúp bạn sử dụng Prisma tối ưu hơn, đặc biệt khi làm việc với Next.js, Express hoặc các ứng dụng server-side khác. 🚀
Last updated
Was this helpful?