@map |
привязывает поле схемы (hash ) к указанной колонке таблицы (password_hash ). @map не меняет название колонки в БД и поля в генерируемом клиенте. Для MongoDB использование @map для @id является обязательным: id String @default(auto()) @map("_id") @db.ObjectId |
@db.Uuid |
тип данных, специфичный для одной или нескольких БД |
@id |
означает, что данное поле является первичным (основным) ключом таблицы (PRIMARY KEY ) (идентификатор модели). Такое поле не может быть опциональным |
@default |
присваивает полю указанное значение по умолчанию (при отсутствии значения поля) (DEFAULT ). Дефолтными могут быть статические значения (42 , hi ) или значения, генерируемые функциями autoincrement , dbgenerated , cuid , uuid и now (функции атрибутов; см. ниже) |
@unique |
означает, что значение поля должно быть уникальным в пределах таблицы (UNIQUE ). Таблица должна иметь хотя бы одно поле @id или @unique |
@relation |
указывает на существование отношений между таблицами. В данном случае между таблицами users и posts существуют отношения один-ко-многим (one-to-many, 1-n) — у одного пользователя может быть несколько постов (FOREIGN KEY / REFERENCES ) (об отношениях мы поговорим отдельно) |
@updatedAt |
обновляет поле текущими датой и временем при любой модификации записи |
@ignore |
используется для обозначения не валидных полей |
@@map |
привязывает название модели к названию таблицы в БД. @@map не меняет название таблицы в БД и модели в генерируемом клиенте |
@@id |
определяет составной (composite) первичный ключ таблицы, например, @@id[title, author] (в данном случае соответствующее поле будет называться title_author — это можно изменить) |
@@unique |
определяет составное ограничение уникальности (unique constraint) для указанных полей (такие поля не могут быть опциональными), например, @@unique([title, author]) |
@@index |
определяет индекс в БД (INDEX ), например, @@index([title, author]) |
@@ignore |
используется для обозначения не валидных моделей |