Skip to main content

PrismaService

@lowcode/api


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

  • OnModuleInit
  • OnModuleDestroy

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