Estoy creando una API crud básica con nodejs y prisma. Mi esquema es el siguiente:
generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") shadowDatabaseUrl = env("SHADOW_DATABASE_URL") } model Category { id String @unique @default(cuid()) title String description String products Product[] } model Product { id String @unique @default(cuid()) title String description String price Float createdAt DateTime @default(now()) updatedAt DateTime? category Category? @relation(fields: [categoryId], references: [id]) categoryId String? }Estoy tratando de hacer que el campo de productos en el modelo Categoría sea opcional. Pero Prisma no permite eso. Pero quiero que mis usuarios creen una categoría incluso sin crear una publicación o viceversa. ¿Cómo puedo evitar esto?
Según la documentación de Prisma, las listas no pueden ser opcionales: https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#remarks-5
Sin embargo, el hecho de que el campo de products no sea opcional no significa que no pueda estar vacío cuando se crea una nueva Category :
await prisma.category.create({ data: { title: 'books', description: 'books', products: {}, } })Luego puede crear o conectar el producto más tarde:
await prisma.category.update({ where: { id: "category-id" }, data: { products: { connect: { id: "product-id" } } } })