【问题标题】:prisma2 set length and column type in prisma schemaprisma2 在 prisma 模式中设置长度和列类型
【发布时间】:2020-11-14 15:41:21
【问题描述】:

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

model User {

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

}

【问题讨论】:

    标签: prisma prisma-graphql prisma2


    【解决方案1】:

    最近在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 docs

    【讨论】:

      【解决方案2】:

      @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-09-18
        • 2020-10-24
        • 2021-05-04
        • 2015-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-08
        相关资源
        最近更新 更多