UNPKG

storenest-commerce

Version:

Complete e-commerce SDK for Storenest platform with React components, multi-language support, secure checkout, and enterprise-grade security

41 lines (40 loc) 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const client_1 = require("@prisma/client"); const db_config_1 = require("./db-config"); let prisma; const createPrismaClient = () => { const config = (0, db_config_1.getDbConfig)(); return new client_1.PrismaClient({ datasources: { db: { url: process.env.DATABASE_URL, }, }, log: config.logging, errorFormat: 'pretty', }); }; if (process.env.NODE_ENV === 'production') { prisma = createPrismaClient(); } else { // In development, use a global instance to prevent multiple connections during hot reload const globalAny = global; if (!globalAny.prisma) { globalAny.prisma = createPrismaClient(); } prisma = globalAny.prisma; } // Graceful shutdown handling const gracefulShutdown = async () => { console.log('Disconnecting Prisma client...'); await prisma.$disconnect(); process.exit(0); }; if (process.env.NODE_ENV === 'production') { process.on('beforeExit', gracefulShutdown); process.on('SIGINT', gracefulShutdown); process.on('SIGTERM', gracefulShutdown); } exports.default = prisma;