db.ts 613 B

1234567891011121314151617181920212223
  1. import { PrismaClient } from '@/generated/prisma/client'
  2. import { PrismaPg } from '@prisma/adapter-pg'
  3. const globalForPrisma = globalThis as unknown as {
  4. prisma: PrismaClient | undefined
  5. }
  6. function createPrismaClient() {
  7. const adapter = new PrismaPg({
  8. connectionString: process.env.DATABASE_URL,
  9. max: 10,
  10. connectionTimeoutMillis: 5000,
  11. idleTimeoutMillis: 30000,
  12. })
  13. return new PrismaClient({
  14. adapter,
  15. log: process.env.NODE_ENV === 'development' ? ['warn', 'error'] : ['error'],
  16. })
  17. }
  18. export const db = globalForPrisma.prisma ?? createPrismaClient()
  19. globalForPrisma.prisma = db