2022-12-12 08:44:23 +01:00
|
|
|
/**
|
|
|
|
* Instantiates a single instance PrismaClient and save it on the global object.
|
|
|
|
* @link https://www.prisma.io/docs/support/help-articles/nextjs-prisma-client-dev-practices
|
|
|
|
*/
|
|
|
|
import { env } from './env';
|
|
|
|
import { PrismaClient } from '@prisma/client';
|
|
|
|
|
|
|
|
const prismaGlobal = global as typeof global & {
|
2022-12-12 14:48:56 +01:00
|
|
|
prisma?: PrismaClient;
|
2022-12-12 08:44:23 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
export const prisma: PrismaClient =
|
2022-12-12 14:48:56 +01:00
|
|
|
prismaGlobal.prisma ||
|
|
|
|
new PrismaClient({
|
2022-12-13 12:47:14 +01:00
|
|
|
log: env.NODE_ENV !== 'development' ? ['query', 'error', 'warn'] : ['error']
|
2022-12-12 14:48:56 +01:00
|
|
|
});
|
2022-12-12 08:44:23 +01:00
|
|
|
|
|
|
|
if (env.NODE_ENV !== 'production') {
|
2022-12-12 14:48:56 +01:00
|
|
|
prismaGlobal.prisma = prisma;
|
|
|
|
}
|