Virtual Machines Database Schema

This commit is contained in:
headlessdev
2025-05-31 14:49:14 +02:00
parent e3795977f7
commit 7f98261f7b
9 changed files with 4475 additions and 14 deletions

View File

@@ -69,10 +69,33 @@ model Server {
monitoringData ServerMonitoring[]
applications Application[]
monitoringSettings ServerMonitoringSettings[]
virtualMachines VirtualMachine[]
@@map("servers")
}
model VirtualMachine {
id Int @id @default(autoincrement())
name String
description String?
server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)
serverId Int
icon String?
ipv4Address String?
osDetails String?
cpuDetails String?
gpuDetails String?
memoryDetails String?
storageDetails String?
managementUrl String?
monitoring Boolean @default(false)
monitoringUrl String?
monitoringSettings ServerMonitoringSettings[]
monitoringData VirtualMachineMonitoring[]
@@map("virtual_machines")
}
model ServerMonitoring {
id Int @id @default(autoincrement())
server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)
@@ -94,6 +117,27 @@ model ServerMonitoring {
@@map("server_monitoring")
}
model VirtualMachineMonitoring {
id Int @id @default(autoincrement())
virtualMachine VirtualMachine @relation(fields: [virtualMachineId], references: [id], onDelete: Cascade)
virtualMachineId Int
cpuPercentUsage Float
gpuPercentUsage Float
memoryUsage Float
memoryPercentUsage Float
diskUsage Float
diskPercentUsage Float
online Boolean
uptimeSeconds Int
timestamp DateTime @default(now())
@@index([virtualMachineId, timestamp])
@@index([online])
@@map("virtual_machine_monitoring")
}
model Application {
id Int @id @default(autoincrement())
server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)
@@ -207,6 +251,8 @@ model ServerMonitoringSettings {
id Int @id @default(autoincrement())
server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)
serverId Int
virtualMachine VirtualMachine @relation(fields: [virtualMachineId], references: [id], onDelete: Cascade)
virtualMachineId Int
generalSettings GeneralServerMonitoringSettings @relation(fields: [generalSettingsId], references: [id], onDelete: Cascade)
generalSettingsId Int
}