Files
saweet/prisma/schema.prisma
2025-05-03 23:23:29 +08:00

126 lines
3.4 KiB
Plaintext

// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Petani {
id Int @id @default(autoincrement())
nama String?
telp String?
alamat String?
latitude Float?
longitude Float?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
Timbang Timbang[]
Pembelian Pembelian[]
}
model Pembelian {
id Int @id @default(autoincrement())
petani_id Int
admin_id Int
kendaraan String
waktu DateTime @default(now())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
petani Petani @relation(fields: [petani_id], references: [id])
admin User @relation(fields: [admin_id], references: [id], name: "admin_beli")
Timbang Timbang[]
}
model Timbang {
id Int @id @default(autoincrement())
pembelian_id Int
berat Int
kualitas String
waktu DateTime @default(now())
penimbang_id Int
pemilah_id Int
petani_id Int?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
pembelian Pembelian @relation(fields: [pembelian_id], references: [id])
penimbang User @relation(fields: [penimbang_id], references: [id], name: "penimbang")
pemilah User @relation(fields: [pemilah_id], references: [id], name: "pemilah")
Petani Petani? @relation(fields: [petani_id], references: [id])
}
model User {
id Int @id @default(autoincrement())
username String @unique
password String
nama String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
AdminBeli Pembelian[] @relation(name: "admin_beli")
PenimbangTimbang Timbang[] @relation(name: "penimbang")
PemilahTimbang Timbang[] @relation(name: "pemilah")
UserRole UserRole[]
HargaBeli HargaBeli[]
}
model Role {
id Int @id @default(autoincrement())
name String @unique
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
UserRole UserRole[]
RoleAuthority RoleAuthority[]
}
model UserRole {
id Int @id @default(autoincrement())
user_id Int
role_id Int
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
user User @relation(fields: [user_id], references: [id])
role Role @relation(fields: [role_id], references: [id])
}
model Authority {
authority String @id
name String
RoleAuthority RoleAuthority[]
}
model RoleAuthority {
id Int @id @default(autoincrement())
role_id Int
authority String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
role Role @relation(fields: [role_id], references: [id])
auth Authority @relation(fields: [authority], references: [authority])
}
model HargaBeli {
id Int @id @default(autoincrement())
tanggal DateTime @db.Date
harga_kw1 Int
harga_kw2 Int
harga_kw3 Int
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
createdBy Int
creator User @relation(fields: [createdBy], references: [id])
}