3

我如何将字符串类型的字符串(varchar)长度设置为 50,并在 prisma 模式中定义一个列为 TEXT,对于用户表,我希望name为 varchar(50) 并bio为 Text 列。我通过 prisma migrate save and up 创建我的表。

model User {

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

}
4

2 回答 2

3

最近在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 文档

于 2021-03-01T01:24:47.130 回答
1

@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
}
于 2021-05-29T13:15:14.507 回答