generator client { provider = "prisma-client-js" } datasource db { provider = "mysql" url = env("DATABASE_URL") } model Product { id Int @id @default(autoincrement()) name String normalizedName String @unique category String? canonicalName String? isActive Boolean @default(true) deletedAt DateTime? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt inventoryItems InventoryItem[] recipeIngredients RecipeIngredient[] } model InventoryItem { id Int @id @default(autoincrement()) productId Int quantity Decimal @db.Decimal(10, 2) unit String brand String? location String? priority Int? purchaseDate DateTime? opened Boolean? shelfNote String? suitableFor String? isOnSale Boolean? priceLevel Int? bestBeforeDate DateTime? proteinType String? isLeftover Boolean? comment String? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt product Product @relation(fields: [productId], references: [id], onDelete: Cascade) consumptions InventoryConsumption[] @@index([productId]) } model InventoryConsumption { id Int @id @default(autoincrement()) inventoryItem InventoryItem @relation(fields: [inventoryItemId], references: [id]) inventoryItemId Int amountUsed Decimal @db.Decimal(10, 2) comment String? createdAt DateTime @default(now()) } model Recipe { id Int @id @default(autoincrement()) name String description String? instructions String? @db.Text imageUrl String? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt ingredients RecipeIngredient[] } model RecipeIngredient { id Int @id @default(autoincrement()) recipe Recipe @relation(fields: [recipeId], references: [id]) recipeId Int product Product @relation(fields: [productId], references: [id]) productId Int quantity Decimal @db.Decimal(10, 2) unit String note String? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt }