[英]Prisma Migrating issue with Mongo schema and Enums
所以我首先制作了這個模式
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
}
那么我推送數據庫(prisma db push --preview-feature),然后我插入了一個像這樣的對象:
{
email: "email@gmail.com"
role:"FORMACION3"
createdAt:1970-01-01T00:00:00.000+00:00
}
之后,我從 TipoFichaje 中刪除“Formacion3”ENUM 並再次推送(prisma db push)
像這樣:
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 工程主管)提出了解決方案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.