Prisma SQLite 列表

Prisma SQLite List

我正在尝试使用 String[] 将列表添加到模型,但它给了我这个错误:

Field "stats" in model "Player" can't be a list.
The current connector does not support lists of primitive types.

代码:


generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "sqlite"
  url      = "file:./db.db"
}

model Player {
  id String @id @default(cuid())
  stats String[]
}

有办法吗?

Scalar lists (arrays) are only supported in the data model if your database natively supports them. Currently, scalar lists are therefore only supported when using PostgreSQL or CockroachDB (since MySQL and SQLite don't natively support scalar lists).

https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#-modifier

或者,您可以尝试使用字符串类型的列,并在写入数据库之前将数组转换为带有分隔符(如逗号)的字符串。

但是,更新将需要更多工作,因为您不能使用 prisma 中的 unsetpush 方法,并且如果您的更新取决于当前状态,则可能必须使用多个查询(例如,获取当前数组的第一个查询,更新数组的第二个查询)。