feat: 新增数据库
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
// This is your Prisma schema file,
|
||||
// learn more about it in the docs: https://pris.ly/d/prisma-schema
|
||||
|
||||
// Get a free hosted Postgres database in seconds: `npx create-db`
|
||||
|
||||
generator client {
|
||||
provider = "prisma-client"
|
||||
output = "../app/generated/prisma"
|
||||
}
|
||||
|
||||
datasource db {
|
||||
provider = "mysql"
|
||||
}
|
||||
|
||||
enum ImageGenerationStatus {
|
||||
QUEUED
|
||||
RUNNING
|
||||
SUCCEEDED
|
||||
FAILED
|
||||
}
|
||||
|
||||
model User {
|
||||
id Int @id
|
||||
username String @default("") @db.VarChar(191)
|
||||
displayName String @default("") @map("display_name") @db.VarChar(191)
|
||||
group String @default("") @db.VarChar(191)
|
||||
role Int @default(0)
|
||||
status Int @default(0)
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
updatedAt DateTime @updatedAt @map("updated_at")
|
||||
imageGenerations ImageGeneration[]
|
||||
|
||||
@@map("users")
|
||||
}
|
||||
|
||||
model ImageGeneration {
|
||||
id BigInt @id @default(autoincrement()) @db.UnsignedBigInt
|
||||
userId Int @map("user_id")
|
||||
prompt String @db.Text
|
||||
status ImageGenerationStatus @default(RUNNING)
|
||||
model String @default("gpt-image-2") @db.VarChar(64)
|
||||
size String @default("1024x1024") @db.VarChar(32)
|
||||
startedAt DateTime @default(now()) @map("started_at")
|
||||
endedAt DateTime? @map("ended_at")
|
||||
durationMs Int? @map("duration_ms")
|
||||
imageUrl String? @map("image_url") @db.VarChar(2048)
|
||||
imageBase64 String? @map("image_base64") @db.LongText
|
||||
imageMimeType String? @map("image_mime_type") @db.VarChar(191)
|
||||
revisedPrompt String? @map("revised_prompt") @db.Text
|
||||
upstreamResponse Json? @map("upstream_response")
|
||||
errorMessage String? @map("error_message") @db.Text
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
updatedAt DateTime @updatedAt @map("updated_at")
|
||||
deletedAt DateTime? @map("deleted_at")
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@index([userId, createdAt])
|
||||
@@index([status])
|
||||
@@index([deletedAt])
|
||||
@@map("image_generations")
|
||||
}
|
||||
|
||||
model GenerationStats {
|
||||
id String @id @db.VarChar(32)
|
||||
totalRequests Int @default(0) @map("total_requests")
|
||||
successRequests Int @default(0) @map("success_requests")
|
||||
failedRequests Int @default(0) @map("failed_requests")
|
||||
queuedRequests Int @default(0) @map("queued_requests")
|
||||
runningRequests Int @default(0) @map("running_requests")
|
||||
totalImages Int @default(0) @map("total_images")
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
updatedAt DateTime @updatedAt @map("updated_at")
|
||||
|
||||
@@map("generation_stats")
|
||||
}
|
||||
Reference in New Issue
Block a user