All files / src/database prisma.service.ts

0% Statements 0/5
100% Branches 0/0
0% Functions 0/2
0% Lines 0/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26                                                   
import { Injectable, OnModuleInit } from '@nestjs/common'
import { PrismaClient } from '@prisma/client'
import { Pool } from 'pg'
import { PrismaPg } from '@prisma/adapter-pg'
 
@Injectable()
export class PrismaService extends PrismaClient implements OnModuleInit {
    constructor() {
        const connectionString = `${process.env.DATABASE_URL}`
        const pool = new Pool({ connectionString })
        const adapter = new PrismaPg(pool)
 
        super({
            adapter,
            log: ['warn', 'error'],
        })
    }
 
    async onModuleInit() {
        // With adapter, explicit connect is sometimes not needed or handled differently, but keeping it is safe.
        // However, PrismaClient with adapter might behave differently.
        // Let's keep strict connect for now.
        await this.$connect()
    }
}