Files
saweet/prisma/schema.prisma

109 lines
2.9 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[]
}
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])
}