Вопрос проверяет понимание того, как Prisma генерирует типы TypeScript из схемы базы данных и обеспечивает типобезопасность запросов.
Prisma — это ORM для Node.js и TypeScript, которая строит типизацию вокруг единого источника правды: файла schema.prisma. В нём описываются модели, поля, связи и типы данных, а CLI на основе этой схемы генерирует клиент с полным набором TypeScript-типов.
schema.prisma.prisma generate создаёт типизированный клиент в node_modules/.prisma/client.findMany, create, update получают строгие типы аргументов и результата.include и select.// schema.prisma
model User {
id Int @id @default(autoincrement())
email String @unique
posts Post[]
}
model Post {
id Int @id @default(autoincrement())
title String
authorId Int
author User @relation(fields: [authorId], references: [id])
}
// index.ts
const user = await prisma.user.findUnique({
where: { email: 'a@b.com' },
include: { posts: true },
});
// user.posts типизирован как Post[]
Если попытаться обратиться к несуществующему полю или передать неверный тип, TypeScript выдаст ошибку ещё до запуска кода. Это снижает количество багов и ускоряет рефакторинг.
Итог: Prisma стоит применять, когда важна типобезопасность и удобство работы с БД в TypeScript-проектах — она даёт автодополнение, проверку на этапе компиляции и единый источник правды для схемы.
Уровень
Рейтинг:
4
Сложность:
5
Навыки
TypeScript
Node.js
Ключевые слова
Подпишись на Node.js Developer в телеграм