From 914a8dfc83ce474864a0296c63e55db5a9b66836 Mon Sep 17 00:00:00 2001 From: wubijie Date: Fri, 1 Nov 2024 11:18:17 +0800 Subject: [PATCH] Modify the initialization method of database tables --- configmanage/server/main.go | 16 +++---- configmanage/server/service/configinstance.go | 25 +++++++++++ configmanage/server/service/repo_test.go | 44 +++++++++++++++++++ 3 files changed, 77 insertions(+), 8 deletions(-) create mode 100644 configmanage/server/service/repo_test.go diff --git a/configmanage/server/main.go b/configmanage/server/main.go index 02195c93..968b356f 100644 --- a/configmanage/server/main.go +++ b/configmanage/server/main.go @@ -35,15 +35,15 @@ func main() { // mysql db初始化 if err := db.MysqldbInit(config.Config().Mysql); err != nil { - logger.Error("mysql db init failed, please check again: %s", err) + fmt.Printf("mysql db init failed, please check again: %s", err) + os.Exit(-1) + } + // 初始化数据库表 + err = service.Init() + if err != nil { + fmt.Printf("init sb table error: %s\n", err) os.Exit(-1) } - - db.MySQL().AutoMigrate(&service.ConfigInfo{}) - db.MySQL().AutoMigrate(&service.ConfigNode{}) - db.MySQL().AutoMigrate(&service.ConfigDepart{}) - db.MySQL().AutoMigrate(&service.ConfigBatch{}) - db.MySQL().AutoMigrate(&service.RepoFile{}) server := router.InitRouter() global.GlobalClient = client.DefaultClient(global.Init(config.Config().ConfigPlugin)) @@ -52,7 +52,7 @@ func main() { go router.RegisterAPIs(server) if err := server.Run(config.Config().HttpServer.Addr); err != nil { - logger.Error("failed to run server: %s", err) + fmt.Printf("failed to run server: %s", err) os.Exit(-1) } } diff --git a/configmanage/server/service/configinstance.go b/configmanage/server/service/configinstance.go index 3e4e2722..74a32e94 100644 --- a/configmanage/server/service/configinstance.go +++ b/configmanage/server/service/configinstance.go @@ -4,6 +4,7 @@ import ( "encoding/json" "gitee.com/openeuler/PilotGo/sdk/common" + "openeuler.org/PilotGo/configmanage-plugin/db" "openeuler.org/PilotGo/configmanage-plugin/internal" ) @@ -12,6 +13,30 @@ type ConfigNode = internal.ConfigNode type ConfigBatch = internal.ConfigBatch type ConfigDepart = internal.ConfigDepart +func Init() error { + err := db.MySQL().Set("gorm:table_options", "ENGINE=InnoDB CHARACTER SET utf8mb4").AutoMigrate(&internal.ConfigInfo{}) + if err != nil { + return err + } + err = db.MySQL().Set("gorm:table_options", "ENGINE=InnoDB CHARACTER SET utf8mb4").AutoMigrate(&internal.ConfigNode{}) + if err != nil { + return err + } + err = db.MySQL().Set("gorm:table_options", "ENGINE=InnoDB CHARACTER SET utf8mb4").AutoMigrate(&internal.ConfigDepart{}) + if err != nil { + return err + } + err = db.MySQL().Set("gorm:table_options", "ENGINE=InnoDB CHARACTER SET utf8mb4").AutoMigrate(&internal.ConfigBatch{}) + if err != nil { + return err + } + err = db.MySQL().Set("gorm:table_options", "ENGINE=InnoDB CHARACTER SET utf8mb4").AutoMigrate(&internal.RepoFile{}) + if err != nil { + return err + } + return nil +} + type ConfigInstance struct { UUID string `json:"uuid"` Type string `json:"type"` diff --git a/configmanage/server/service/repo_test.go b/configmanage/server/service/repo_test.go new file mode 100644 index 00000000..6bdff861 --- /dev/null +++ b/configmanage/server/service/repo_test.go @@ -0,0 +1,44 @@ +package service + +import ( + "fmt" + "os" + "testing" + + "openeuler.org/PilotGo/configmanage-plugin/config" + "openeuler.org/PilotGo/configmanage-plugin/db" +) + +func TestGetRopeFilesByCinfigUUID(t *testing.T) { + // 设置测试数据 + testUUID := "test-uuid" + + // 调用被测试的函数 + files, err := GetRopeFilesByCinfigUUID(testUUID) + if err != nil { + fmt.Printf("load repofiles error: %s\n", err) + os.Exit(-1) + } + if len(files) == 0 { + fmt.Printf("files is empty: %s\n", err) + os.Exit(-1) + } + fmt.Println(len(files)) +} + +func TestMain(m *testing.M) { + fmt.Println("begin") + err := config.Init("") + if err != nil { + fmt.Printf("load config error: %s\n", err) + os.Exit(-1) + } + err = db.MysqldbInit(config.Config().Mysql) + if err != nil { + fmt.Printf("init database error: %s\n", err) + os.Exit(-1) + } + Init() + m.Run() + fmt.Println("end") +} -- Gitee