3. Prisma Schema
Файл schema.prisma — это сердце любого Prisma-проекта. Здесь описывается всё: тип базы данных, настройки генератора и все модели данных. Prisma читает этот файл и генерирует типизированный клиент, а также SQL-миграции.
Структура файла схемы
Заголовок раздела «Структура файла схемы»Файл схемы состоит из трёх ключевых блоков:
datasource— конфигурация подключения к базе данныхgenerator— настройки генерации клиента- Модели — описание таблиц и их полей
Блок datasource
Заголовок раздела «Блок datasource»datasource db { provider = "postgresql" url = env("DATABASE_URL")}Поле provider определяет тип базы данных: postgresql, mysql, sqlite, sqlserver или mongodb. Поле url — строка подключения, которую лучше хранить в переменной окружения.
Блок generator
Заголовок раздела «Блок generator»generator client { provider = "prisma-client-js"}Блок generator определяет, что именно будет генерироваться при запуске prisma generate. Стандартный провайдер prisma-client-js создаёт типизированный JavaScript/TypeScript клиент.
Модели описывают таблицы базы данных. Каждая модель имеет имя (написанное в PascalCase) и набор полей с типами и атрибутами.
model User { id Int @id @default(autoincrement()) email String @unique name String? createdAt DateTime @default(now())}Атрибуты полей
Заголовок раздела «Атрибуты полей»@id— первичный ключ@default(value)— значение по умолчанию@unique— уникальное ограничение@map("column_name")— маппинг на имя колонки в БД@@index([field1, field2])— составной индекс на уровне модели