ERD dan skema prisma

This commit is contained in:
2025-05-01 21:53:22 +08:00
parent fdd6331fed
commit fe89ec9a2b
2 changed files with 154 additions and 2 deletions

View File

@@ -6,10 +6,103 @@
generator client {
provider = "prisma-client-js"
output = "../src/generated/prisma"
}
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[]
}
model Timbang {
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")
Berat Berat[]
}
model Berat {
id Int @id @default(autoincrement())
timbang_id Int
berat Int
kualitas String
waktu DateTime @default(now())
penimbang_id Int
pemilah_id Int
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
timbang Timbang @relation(fields: [timbang_id], references: [id])
penimbang User @relation(fields: [penimbang_id], references: [id], name: "penimbang")
pemilah User @relation(fields: [pemilah_id], references: [id], name: "pemilah")
}
model User {
id Int @id @default(autoincrement())
username String @unique
password String
nama String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
AdminTimbang Timbang[] @relation(name: "admin")
PenimbangBerat Berat[] @relation(name: "penimbang")
PemilahBerat Berat[] @relation(name: "pemilah")
UserRole UserRole[]
}
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])
}