86 lines
2.3 KiB
Plaintext
86 lines
2.3 KiB
Plaintext
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
|
|
} |