162 lines
4.3 KiB
Plaintext
162 lines
4.3 KiB
Plaintext
generator client {
|
|
provider = "prisma-client-js"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "postgresql"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
model User {
|
|
id Int @id @default(autoincrement())
|
|
email String @unique
|
|
passwordHash String
|
|
role String @default("OWNER")
|
|
created DateTime @default(now())
|
|
}
|
|
|
|
model Note {
|
|
id Int @id @default(autoincrement())
|
|
text String
|
|
tags String @default("")
|
|
created DateTime @default(now())
|
|
}
|
|
|
|
model Todo {
|
|
id Int @id @default(autoincrement())
|
|
text String
|
|
done Boolean @default(false)
|
|
started Boolean @default(false)
|
|
parentId Int?
|
|
created DateTime @default(now())
|
|
}
|
|
|
|
model Shopping {
|
|
id Int @id @default(autoincrement())
|
|
text String
|
|
done Boolean @default(false)
|
|
created DateTime @default(now())
|
|
}
|
|
|
|
model Glaze {
|
|
id Int @id @default(autoincrement())
|
|
name String
|
|
kind String @default("glaze")
|
|
cone String @default("")
|
|
atmosphere String @default("")
|
|
surface String @default("")
|
|
source String @default("mine")
|
|
sg String @default("")
|
|
swatch String @default("")
|
|
created DateTime @default(now())
|
|
materials GlazeMaterial[]
|
|
journal GlazeJournal[]
|
|
}
|
|
|
|
model GlazeMaterial {
|
|
id Int @id @default(autoincrement())
|
|
glazeId Int
|
|
glaze Glaze @relation(fields: [glazeId], references: [id], onDelete: Cascade)
|
|
name String
|
|
pct Float
|
|
addition Boolean @default(false)
|
|
}
|
|
|
|
model GlazeJournal {
|
|
id Int @id @default(autoincrement())
|
|
glazeId Int
|
|
glaze Glaze @relation(fields: [glazeId], references: [id], onDelete: Cascade)
|
|
text String
|
|
created DateTime @default(now())
|
|
}
|
|
|
|
model Firing {
|
|
id Int @id @default(autoincrement())
|
|
type String @default("glaze")
|
|
cone String @default("∆6")
|
|
schedule String @default("")
|
|
status String @default("firing")
|
|
resultNotes String @default("")
|
|
started DateTime @default(now())
|
|
unloaded DateTime?
|
|
items FiringItem[]
|
|
}
|
|
|
|
model FiringItem {
|
|
id Int @id @default(autoincrement())
|
|
firingId Int
|
|
firing Firing @relation(fields: [firingId], references: [id], onDelete: Cascade)
|
|
piece String
|
|
clay String @default("")
|
|
glaze String @default("")
|
|
rating String @default("")
|
|
note String @default("")
|
|
}
|
|
|
|
model Photo {
|
|
id Int @id @default(autoincrement())
|
|
entity String
|
|
entityId Int
|
|
filename String
|
|
created DateTime @default(now())
|
|
}
|
|
|
|
model FileAsset {
|
|
id Int @id @default(autoincrement())
|
|
entity String @default("")
|
|
entityId Int @default(0)
|
|
stored String
|
|
name String
|
|
tag String @default("")
|
|
size Int @default(0)
|
|
created DateTime @default(now())
|
|
}
|
|
|
|
model Product {
|
|
id Int @id @default(autoincrement())
|
|
name String
|
|
kind String @default("core line")
|
|
category String @default("")
|
|
price Float @default(0)
|
|
cost Float @default(0)
|
|
qty Int @default(0)
|
|
status String @default("in progress")
|
|
notes String @default("")
|
|
created DateTime @default(now())
|
|
sales Sale[]
|
|
}
|
|
|
|
model Sale {
|
|
id Int @id @default(autoincrement())
|
|
productId Int
|
|
product Product @relation(fields: [productId], references: [id], onDelete: Cascade)
|
|
qty Int @default(1)
|
|
price Float @default(0)
|
|
cost Float @default(0)
|
|
created DateTime @default(now())
|
|
}
|
|
|
|
model Supplier {
|
|
id Int @id @default(autoincrement())
|
|
name String
|
|
kind String @default("online")
|
|
distance String @default("")
|
|
url String @default("")
|
|
notes String @default("")
|
|
searchUrl String @default("")
|
|
created DateTime @default(now())
|
|
prices PriceEntry[]
|
|
}
|
|
|
|
model PriceEntry {
|
|
id Int @id @default(autoincrement())
|
|
item String
|
|
supplierId Int
|
|
supplier Supplier @relation(fields: [supplierId], references: [id], onDelete: Cascade)
|
|
price Float
|
|
unit String @default("")
|
|
shipping Float @default(0)
|
|
note String @default("")
|
|
created DateTime @default(now())
|
|
}
|