Files
monitoring-app/prisma/schema.prisma
2026-04-13 17:15:41 +08:00

138 lines
2.3 KiB
Plaintext

generator client {
provider = "prisma-client-js"
output = "../generated/prisma"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
enum Role {
USER
ADMIN
SUPER_ADMIN
DEVELOPER
}
enum BugSource{
QC
SYSTEM
USER
}
enum BugStatus{
OPEN
ON_HOLD
IN_PROGRESS
RESOLVED
RELEASED
CLOSED
}
enum LogType{
CREATE
UPDATE
DELETE
LOGIN
LOGOUT
}
model User {
id String @id @default(uuid())
name String
email String @unique
password String
role Role @default(USER)
active Boolean @default(true)
image String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
sessions Session[]
logs Log[]
bugs Bug[]
bugLogs BugLog[]
@@map("user")
}
model Session {
id String @id @default(uuid())
token String @unique
userId String
expiresAt DateTime
createdAt DateTime @default(now())
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@index([token])
@@map("session")
}
model Log {
id String @id @default(uuid())
userId String
type LogType
message String
createdAt DateTime @default(now())
user User @relation(fields: [userId], references: [id])
@@map("log")
}
model Bug {
id String @id @default(uuid())
userId String?
app String?
affectedVersion String
device String
os String
status BugStatus
source BugSource
description String
stackTrace String?
fixedVersion String?
feedBack String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
user User? @relation(fields: [userId], references: [id])
images BugImage[]
logs BugLog[]
@@map("bug")
}
model BugImage {
id String @id @default(uuid())
bugId String
imageUrl String
createdAt DateTime @default(now())
bug Bug @relation(fields: [bugId], references: [id], onDelete: Cascade)
@@map("bug_image")
}
model BugLog {
id String @id @default(uuid())
bugId String
userId String?
status BugStatus
description String
createdAt DateTime @default(now())
bug Bug @relation(fields: [bugId], references: [id], onDelete: Cascade)
user User? @relation(fields: [userId], references: [id], onDelete: Cascade)
@@map("bug_log")
}