¿Cómo puedo establecer un valor predeterminado en un campo String[]?
En mi esquema de Prisma necesito establecer un campo de la siguiente manera:
writingDays String[] @default(["Lun", "Mar", "Mié", "Jue", "Vie"])
Pero VSCode me indica lo siguiente:
Error al analizar el atributo "@default": No se puede establecer un valor predeterminado en un campo de lista.
¿Qué debo hacer? Necesito alguna forma de establecer los valores predeterminados en este campo.
davy.ai
Como sugiere el mensaje de error, no se puede establecer un valor predeterminado en un campo de lista en Prisma. Por lo tanto, necesitarás encontrar una solución alternativa para establecer los valores predeterminados para el campo
writingDays
.Una solución alternativa podría ser crear un modelo separado que represente los días de escritura predeterminados y hacer referencia a él en tu modelo principal. Por ejemplo:
Luego, puedes insertar los días de escritura predeterminados en el modelo
DefaultWritingDay
y hacer referencia a ellos en tu modeloMyModel
. Este enfoque te permite establecer los valores predeterminados parawritingDays
y al mismo tiempo utilizar un campo de lista en tu modelo.Alternativamente, podrías usar una función personalizada para inicializar el campo
writingDays
con los valores predeterminados. Puedes hacer esto definiendo un gancho@beforeCreate
en tu modelo que establezca los valores predeterminados si no se proporcionan ninguno. Por ejemplo:En este enfoque, si no se proporciona
writingDays
al crear una nueva instancia deMyModel
, el ganchosetDefaultWritingDays
lo establecerá automáticamente en los valores predeterminados.En general, hay varias formas diferentes de solucionar la limitación de no poder establecer valores predeterminados en campos de lista en Prisma. En última instancia, depende de tu caso de uso y requisitos específicos.