关于mongodb模式和枚举的迁移问题



我在第一个实例中创建了这个模式

generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mongodb"
url      = env("DATABASE_URL")
}
model User {
id        String      @id @default(auto()) @map("_id") @db.ObjectId
email     String      @unique
role      TipoFichaje @default(JORNADA_ENTRADA)
createdAt DateTime    @db.Date
}
model Entity {
id        String   @id @default(auto()) @map("_id") @db.ObjectId
name      String
createdAt DateTime @db.Date
}
enum TipoFichaje {
JORNADA_ENTRADA
JORNADA_SALIDA
DESAYUNO
COMIDA
FORMACION
FORMACION3
}

然后我推db (prisma db push—preview-feature),然后我插入一个对象,像这样:

{
email: "email@gmail.com"
role:"FORMACION3"
createdAt:1970-01-01T00:00:00.000+00:00
}

之后我删除了"Formacion3"从TipoFichaje和push (prisma db push)返回ENUM

:

enum TipoFichaje {
JORNADA_ENTRADA
JORNADA_SALIDA
DESAYUNO
COMIDA
FORMACION
}

当我尝试使用Prisma Studio获取数据时抛出此错误:

Message: Error in Prisma Client request: 

Invalid `prisma.user.findMany()` invocation:

Value 'FORMACION3' not found in enum 'TipoFichaje'

Query:
{
"modelName": "User",
"operation": "findMany",
"args": {
"take": 100,
"skip": 0,
"select": {
"id": true,
"email": true,
"role": true,
"createdAt": true
}
}
}

我的问题是:这是正常的行为吗?我的意思是,如果我迁移数据库与新的变化不应该迁移修复这个?我该如何解决这个问题?

所以,解决方案是由Janpio(工程主管@ Prisma)提出的

这里

最新更新