Así que he hecho este esquema en primera instancia.
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 }
Bueno, entonces presioné el db (prisma db push --preview-feature) y luego inserté un objeto como este:
{ email: "email@gmail.com" role:"FORMACION3" createdAt:1970-01-01T00:00:00.000+00:00 }
Después de eso elimino el ENUM "Formacion3" de TipoFichaje y presiono nuevamente (prisma db push)
Como esto:
enum TipoFichaje { JORNADA_ENTRADA JORNADA_SALIDA DESAYUNO COMIDA FORMACION }
Cuando trato de obtener los datos con Prisma Studio arroja este error:
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 } } }
Mi pregunta es: ¿Es un comportamiento normal? Quiero decir, si migro la base de datos con los nuevos cambios, ¿no debería la migración solucionar esto? ¿Cómo puedo arreglar esto?