rwadurian/backend/services/snapshot-service/prisma/schema.prisma

47 lines
1.1 KiB
Plaintext

generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
model SnapshotTask {
id String @id @default(uuid())
status String @default("PENDING")
storageType String
storagePath String
targets String // JSON: ["POSTGRES","REDIS"]
totalSize BigInt @default(0)
error String?
startedAt DateTime?
completedAt DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
details SnapshotDetail[]
@@map("snapshot_tasks")
}
model SnapshotDetail {
id String @id @default(uuid())
taskId String
target String
status String @default("PENDING")
progress Int @default(0)
fileSize BigInt @default(0)
fileName String?
error String?
startedAt DateTime?
completedAt DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
task SnapshotTask @relation(fields: [taskId], references: [id], onDelete: Cascade)
@@index([taskId])
@@map("snapshot_details")
}