prisma2 задает длину и тип столбца в схеме призмы

как я могу установить длину строки (varchar) для типа строки равной 50 и определить столбец как ТЕКСТ в схеме prisma, для пользовательской таблицы я хочу, чтобы name был varchar (50) и bio был текстовым столбцом. Я создаю свои таблицы с помощью prisma migrate save и up.

model User {

  id        Int      @default(autoincrement()) @id
  email     String   @unique
  password  String
  name      String   ***** varchar 50****
  bio       String  *****TEXT ??

}

person devmrh    schedule 24.07.2020    source источник


Ответы (2)


Следующая функция была недавно добавлена ​​в v2.17.0. Вы можете указать типы базы данных в атрибутах скалярного поля, используя @db., за которым следует требуемый атрибут собственного типа базы данных, указанный Prisma. Для varchar используйте следующее для PostgreSQL.

model User {
  id        Int      @default(autoincrement()) @id
  email     String   @unique
  password  String
  name      String   @db.VarChar(50)
}

Дополнительные типы баз данных см. В документации по Prisma Schema API.

person Griffin    schedule 01.03.2021

@Griffin прав. Кроме того, ваше поле bio можно оставить как есть. Prisma по умолчанию устанавливает String тип как собственные text типы базы данных (только для PostgreSQL и SQLite). Вы также можете установить его явно независимо от базы данных:

model User {
  id        Int      @default(autoincrement()) @id
  email     String   @unique
  password  String
  name      String   @db.VarChar(50)
  bio       String   @db.Text
}
person user1738546    schedule 29.05.2021