project model
This commit is contained in:
parent
92dd999e4a
commit
cf02a4b41b
|
|
@ -1,7 +1,7 @@
|
||||||
package k8s_manager
|
package k8s_manager
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
log "github.com/sirupsen/logrus"
|
||||||
"os"
|
"os"
|
||||||
"reflect"
|
"reflect"
|
||||||
)
|
)
|
||||||
|
|
@ -44,7 +44,8 @@ func InitConfig() {
|
||||||
optionalFields := map[string]string{}
|
optionalFields := map[string]string{}
|
||||||
for _, f := range mustFields {
|
for _, f := range mustFields {
|
||||||
if getField(config, f) == "" {
|
if getField(config, f) == "" {
|
||||||
panic(fmt.Sprintf("field %s must be set.", f))
|
log.Warningf("filed %s has not been set", f)
|
||||||
|
// panic(fmt.Sprintf("field %s must be set.", f))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for f, v := range optionalFields {
|
for f, v := range optionalFields {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
package model
|
||||||
|
|
||||||
|
import (
|
||||||
|
"gorm.io/gorm"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ProjectModel struct {
|
||||||
|
gorm.Model
|
||||||
|
ProjectName string
|
||||||
|
UserName string
|
||||||
|
GroupName string
|
||||||
|
Type string
|
||||||
|
Comment string
|
||||||
|
|
||||||
|
ImageID int
|
||||||
|
Image ImageModel
|
||||||
|
TrainData []*DataModel `gorm:"many2many:projects_data"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*ProjectModel) TableName() string {
|
||||||
|
return "projects"
|
||||||
|
}
|
||||||
|
|
||||||
|
type ImageModel struct {
|
||||||
|
gorm.Model
|
||||||
|
Image string
|
||||||
|
Comment string
|
||||||
|
Command string
|
||||||
|
Env string
|
||||||
|
Port string
|
||||||
|
UserName string
|
||||||
|
IsPublished bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*ImageModel) TableName() string {
|
||||||
|
return "images"
|
||||||
|
}
|
||||||
|
|
||||||
|
type DataModel struct {
|
||||||
|
gorm.Model
|
||||||
|
Type string
|
||||||
|
Name string
|
||||||
|
Comment string
|
||||||
|
AccessInfo string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*DataModel) TableName() string {
|
||||||
|
return "data"
|
||||||
|
}
|
||||||
|
|
||||||
|
type RunningProject struct {
|
||||||
|
Project *ProjectModel
|
||||||
|
StartTime *time.Time
|
||||||
|
UserName string
|
||||||
|
Nodes int
|
||||||
|
Cpus int
|
||||||
|
Memory int
|
||||||
|
Gpus int
|
||||||
|
GpuMemory int
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
k8s_manager "k8s-manager/src"
|
||||||
|
"k8s-manager/src/model"
|
||||||
|
)
|
||||||
|
|
||||||
|
func CreateTables() {
|
||||||
|
db := k8s_manager.DB()
|
||||||
|
err := db.Migrator().AutoMigrate(
|
||||||
|
&model.ProjectModel{},
|
||||||
|
&model.ImageModel{},
|
||||||
|
&model.DataModel{},
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
k8s_manager.InitConfig()
|
||||||
|
db := k8s_manager.DB()
|
||||||
|
p := model.ProjectModel{}
|
||||||
|
db.Preload("TrainData").Where("user_name = ?", "wmj").Find(&p)
|
||||||
|
j, _ := json.Marshal(&p)
|
||||||
|
fmt.Println(string(j))
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue