ERD dan skema prisma
This commit is contained in:
61
ERD.puml
61
ERD.puml
@@ -1,14 +1,40 @@
|
|||||||
@startuml
|
@startuml
|
||||||
|
|
||||||
|
|
||||||
entity "timbang"{
|
entity "timbang"{
|
||||||
* id : number <<generated>>
|
* id : number <<generated>>
|
||||||
|
* admin_id : number <<FK>>
|
||||||
petani_id : number <<FK>>
|
petani_id : number <<FK>>
|
||||||
kendaraan : text
|
kendaraan : text
|
||||||
waktu : timestamp
|
waktu : timestamp
|
||||||
|
}
|
||||||
|
|
||||||
|
entity "berat"{
|
||||||
|
* id : number <<generated>>
|
||||||
|
* penimbang_id : number <<FK>>
|
||||||
|
* pemilah_id : number <<FK>>
|
||||||
|
timbang_id : number <<FK>>
|
||||||
|
waktu : timestamp
|
||||||
kualitas : enum (1,2,sortiran, kendaraan)
|
kualitas : enum (1,2,sortiran, kendaraan)
|
||||||
berat : number
|
berat : number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
entity harga_beli {
|
||||||
|
* id
|
||||||
|
tanggal : date
|
||||||
|
created_by : number <<FK>>
|
||||||
|
harga_kw1 : number
|
||||||
|
harga_kaw2 : number
|
||||||
|
harga_kaw3 : number
|
||||||
|
}
|
||||||
|
|
||||||
|
entity "harga_jual"{
|
||||||
|
* id : number <<generated>>
|
||||||
|
* admin_id : number <<FK>>
|
||||||
|
harga : number
|
||||||
|
tanggal : date
|
||||||
|
}
|
||||||
|
|
||||||
entity "petani"{
|
entity "petani"{
|
||||||
* id : number <<generated>>
|
* id : number <<generated>>
|
||||||
nama : text
|
nama : text
|
||||||
@@ -23,8 +49,41 @@ entity "user"{
|
|||||||
nama : text
|
nama : text
|
||||||
}
|
}
|
||||||
|
|
||||||
entity "role" {}
|
entity "role" {
|
||||||
|
* id : number <<generated>>
|
||||||
|
name : text
|
||||||
|
}
|
||||||
|
|
||||||
|
entity user_role {
|
||||||
|
* id : number <<generated>>
|
||||||
|
user_id : number <<FK>>
|
||||||
|
role_id : number <<FK>>
|
||||||
|
}
|
||||||
|
|
||||||
|
entity "authority" {
|
||||||
|
* authority : text
|
||||||
|
name : text
|
||||||
|
}
|
||||||
|
|
||||||
|
entity "role_authority" {
|
||||||
|
* id : number <<generated>>
|
||||||
|
role_id : number <<FK>>
|
||||||
|
authority : text <<FK>>
|
||||||
|
}
|
||||||
|
|
||||||
|
user::id ||..o{ user_role::user_id
|
||||||
|
user_role::role_id }o..|| role::id
|
||||||
|
role::id ||..o{ role_authority::role_id
|
||||||
|
role_authority::authority }o..|| authority::authority
|
||||||
|
|
||||||
|
user::id ||..|{ timbang::admin_id
|
||||||
|
timbang::petani_id }o..|| petani::id
|
||||||
|
timbang::id ||..o{ berat::timbang_id
|
||||||
|
|
||||||
|
berat::penimbang_id }o..|| user::id
|
||||||
|
berat::pemilah_id }o..|| user::id
|
||||||
|
|
||||||
|
harga_beli::created_by }o..|| user::id
|
||||||
|
|
||||||
|
|
||||||
@enduml
|
@enduml
|
||||||
@@ -6,10 +6,103 @@
|
|||||||
|
|
||||||
generator client {
|
generator client {
|
||||||
provider = "prisma-client-js"
|
provider = "prisma-client-js"
|
||||||
output = "../src/generated/prisma"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
datasource db {
|
datasource db {
|
||||||
provider = "postgresql"
|
provider = "postgresql"
|
||||||
url = env("DATABASE_URL")
|
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])
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user