PrismaService
Class: PrismaService
Defined in: apps/api/src/prisma/prisma.service.ts:24
Сервис-обёртка над PrismaClient, интегрирующая его в DI-контейнер NestJS.
Основные задачи:
- управлять подключением к базе данных при старте модуля;
- корректно закрывать подключение при завершении приложения;
- предоставлять единый экземпляр PrismaClient во всём приложении.
Преимущества использования как NestJS-сервиса:
- гарантируется единственный экземпляр (singleton);
- автоматическое подключение и отключение;
- интеграция с жизненным циклом NestJS (
OnModuleInit,OnModuleDestroy); - упрощённая возможность добавлять middlewares, расширения и логирование.
Если необходимо — сюда можно добавить:
- Prisma middlewares (логирование, корреляция запросов, soft-delete),
- кастомные методы,
- хук для глобального логирования ошибок БД.
Extends
PrismaClient
Implements
OnModuleInitOnModuleDestroy
Indexable
[K: symbol]: object
Constructors
Constructor
new PrismaService(
optionsArg?):PrismaService
Defined in: node_modules/.pnpm/@prisma+client@5.22.0_prisma@5.22.0/node_modules/.prisma/client/index.d.ts:63
Prisma Client ʲˢ
Type-safe database client for TypeScript & Node.js
Parameters
optionsArg?
Subset<PrismaClientOptions, PrismaClientOptions>
Returns
PrismaService
Example
const prisma = new PrismaClient()
// Fetch zero or more Projects
const projects = await prisma.project.findMany()
Read more in our docs.
Inherited from
PrismaClient.constructor
Methods
onModuleDestroy()
onModuleDestroy():
Promise<void>
Defined in: apps/api/src/prisma/prisma.service.ts:37
Вызывается при уничтожении модуля (остановке приложения). Гарантирует корректное закрытие соединения.
Returns
Promise<void>
Implementation of
OnModuleDestroy.onModuleDestroy
onModuleInit()
onModuleInit():
Promise<void>
Defined in: apps/api/src/prisma/prisma.service.ts:29
Вызывается автоматически при инициализации модуля NestJS. Настраивает соединение с базой данных.
Returns
Promise<void>
Implementation of
OnModuleInit.onModuleInit