113 lines
2.7 KiB
Plaintext
113 lines
2.7 KiB
Plaintext
|
// This is your Prisma schema file,
|
||
|
// learn more about it in the docs: https://pris.ly/d/prisma-schema
|
||
|
|
||
|
generator client {
|
||
|
provider = "prisma-client-js"
|
||
|
binaryTargets = ["native", "debian-openssl-3.0.x"]
|
||
|
}
|
||
|
|
||
|
datasource db {
|
||
|
provider = "sqlite"
|
||
|
url = env("DATABASE_URL")
|
||
|
}
|
||
|
|
||
|
model User {
|
||
|
id Int @id @default(autoincrement())
|
||
|
phone String @unique
|
||
|
username String?
|
||
|
password String
|
||
|
applications Application[]
|
||
|
loginlogs Loginlogs[]
|
||
|
Vm Vm[]
|
||
|
}
|
||
|
|
||
|
model Adminer {
|
||
|
id Int @id @default(autoincrement())
|
||
|
adminId Int
|
||
|
}
|
||
|
|
||
|
model Application {
|
||
|
id Int @id @default(autoincrement())
|
||
|
name String
|
||
|
area String
|
||
|
cpu Int
|
||
|
ram Int
|
||
|
disk Int
|
||
|
desc String
|
||
|
deploy Boolean @default(false)
|
||
|
applicant User @relation(fields: [applicantId], references: [id])
|
||
|
applicantId Int
|
||
|
}
|
||
|
model Register {
|
||
|
id Int @id @default(autoincrement())
|
||
|
phone String
|
||
|
deadline DateTime
|
||
|
code String
|
||
|
}
|
||
|
model Loginlogs {
|
||
|
id Int @id @default(autoincrement())
|
||
|
outtime DateTime
|
||
|
ip String
|
||
|
loginer User @relation(fields: [userid], references: [id])
|
||
|
userid Int
|
||
|
token String @unique
|
||
|
}
|
||
|
//Config
|
||
|
model Web {
|
||
|
ConfigId Int @id
|
||
|
ConfigName String
|
||
|
ConfigValue String
|
||
|
}
|
||
|
model Cluster {
|
||
|
ClusterId Int @id
|
||
|
Name String
|
||
|
Ip String
|
||
|
Username String
|
||
|
Password String
|
||
|
Gateway String
|
||
|
Resource String
|
||
|
Status String
|
||
|
Nodes Node[]
|
||
|
}
|
||
|
model Node {
|
||
|
NodeId Int @id
|
||
|
Cluster Cluster @relation(fields: [ClusterId], references: [ClusterId])
|
||
|
ClusterId Int
|
||
|
Resource String
|
||
|
Status String
|
||
|
Vms Vm[]
|
||
|
}
|
||
|
model Template {
|
||
|
TemplateId Int @id @default(autoincrement())
|
||
|
OS String
|
||
|
Type String
|
||
|
Path String
|
||
|
Cpu String
|
||
|
Ram String
|
||
|
Disk String
|
||
|
Ports String
|
||
|
Vm Vm[]
|
||
|
}
|
||
|
//datasource
|
||
|
model Ip {
|
||
|
Adress String @id
|
||
|
Vmid Int
|
||
|
Vm Vm @relation(fields: [Vmid], references: [Vmid])
|
||
|
}
|
||
|
model Port {
|
||
|
Port Int @id
|
||
|
Vmid Int
|
||
|
Vm Vm @relation(fields: [Vmid], references: [Vmid])
|
||
|
}
|
||
|
model Vm {
|
||
|
Vmid Int @id @default(autoincrement())
|
||
|
NodeId Int
|
||
|
Node Node @relation(fields: [NodeId], references: [NodeId])
|
||
|
TemplateId Int
|
||
|
Template Template @relation(fields: [TemplateId], references: [TemplateId])
|
||
|
UserId Int
|
||
|
User User @relation(fields: [UserId], references: [id])
|
||
|
Ip Ip[]
|
||
|
SshPort Int
|
||
|
Ports Port[]
|
||
|
}
|