54 lines
1.9 KiB
Text
54 lines
1.9 KiB
Text
|
datasource db {
|
||
|
provider = "postgresql"
|
||
|
url = env("DATABASE_URL")
|
||
|
}
|
||
|
|
||
|
generator client {
|
||
|
provider = "prisma-client-js"
|
||
|
}
|
||
|
|
||
|
model recipes {
|
||
|
id Int @id @default(autoincrement())
|
||
|
name String @unique(map: "recipes_name_unique") @db.VarChar(255)
|
||
|
cuisine String @db.VarChar(255)
|
||
|
created_at DateTime @default(now()) @db.Timestamptz(6)
|
||
|
updated_at DateTime @default(now()) @db.Timestamptz(6)
|
||
|
author String? @db.VarChar(255)
|
||
|
stars Int?
|
||
|
prep_minutes Int?
|
||
|
cook_minutes Int?
|
||
|
recipeIngredients recipe_ingredients[]
|
||
|
recipeSteps recipe_steps[]
|
||
|
}
|
||
|
|
||
|
model recipe_ingredients {
|
||
|
id Int @id @default(autoincrement())
|
||
|
recipe_id Int
|
||
|
ingredient_id Int?
|
||
|
quantity String? @db.VarChar(255)
|
||
|
unit String? @db.VarChar(255)
|
||
|
notes String? @db.VarChar(255)
|
||
|
created_at DateTime @default(now()) @db.Timestamptz(6)
|
||
|
updated_at DateTime @default(now()) @db.Timestamptz(6)
|
||
|
raw String? @default("") @db.VarChar(255)
|
||
|
recipes recipes? @relation(fields: [recipe_id], references: [id])
|
||
|
recipesId Int?
|
||
|
|
||
|
@@index([ingredient_id], map: "recipe_ingredients_ingredient_id_index")
|
||
|
@@index([recipe_id], map: "recipe_ingredients_recipe_id_index")
|
||
|
}
|
||
|
|
||
|
model recipe_steps {
|
||
|
id Int @id @default(autoincrement())
|
||
|
recipe_id Int?
|
||
|
step_number Int?
|
||
|
instruction String? @db.VarChar(510)
|
||
|
created_at DateTime @default(now()) @db.Timestamptz(6)
|
||
|
updated_at DateTime @default(now()) @db.Timestamptz(6)
|
||
|
recipes recipes? @relation(fields: [recipe_id], references: [id])
|
||
|
recipesId Int?
|
||
|
|
||
|
@@unique([recipe_id, step_number], map: "recipe_steps_recipe_id_step_number_unique")
|
||
|
@@index([recipe_id], map: "recipe_steps_recipe_id_index")
|
||
|
}
|