qdy před 4 týdny
revize
ebaa8476b5
1 změnil soubory, kde provedl 40 přidání a 43 odebrání
  1. 40
    43
      main.go

+ 40
- 43
main.go Zobrazit soubor

1
 package main
1
 package main
2
 
2
 
3
 import (
3
 import (
4
+	"log"
5
+
4
 	"git.x2erp.com/qdy/go-db/factory/database"
6
 	"git.x2erp.com/qdy/go-db/factory/database"
7
+	"git.x2erp.com/qdy/go-db/sqldef"
5
 
8
 
6
 	"git.x2erp.com/qdy/go-base/config"
9
 	"git.x2erp.com/qdy/go-base/config"
7
-	"git.x2erp.com/qdy/go-base/consul"
8
 	"git.x2erp.com/qdy/go-base/container"
10
 	"git.x2erp.com/qdy/go-base/container"
9
 	"git.x2erp.com/qdy/go-base/graceful"
11
 	"git.x2erp.com/qdy/go-base/graceful"
10
 	"git.x2erp.com/qdy/go-base/logger"
12
 	"git.x2erp.com/qdy/go-base/logger"
11
 
13
 
12
 	"git.x2erp.com/qdy/go-base/webx"
14
 	"git.x2erp.com/qdy/go-base/webx"
13
-	"git.x2erp.com/qdy/go-base/webx/health"
14
-	"git.x2erp.com/qdy/go-base/webx/router"
15
+
16
+	_ "git.x2erp.com/qdy/go-svc-mercury/internal/tables" // 导入表定义包,触发 init() 函数
15
 )
17
 )
16
 
18
 
17
 var (
19
 var (
19
 	appVersion = "1"
21
 	appVersion = "1"
20
 )
22
 )
21
 
23
 
22
-// 定义结构体
23
-type CreateUserRequest struct {
24
-	Name  string `json:"name"`
25
-	Email string `json:"email"`
26
-	Age   int    `json:"age"`
27
-}
28
-
29
-type UserResponse struct {
30
-	ID    string `json:"id"`
31
-	Name  string `json:"name"`
32
-	Email string `json:"email"`
33
-	Data  []map[string]interface{}
34
-}
35
-
36
 func main() {
24
 func main() {
37
 
25
 
38
-	//0.日志
39
-	//logger.InitBootLog()
26
+	// 0. 初始化日志
40
 	logBootFactory := logger.InitBootLog()
27
 	logBootFactory := logger.InitBootLog()
41
 
28
 
42
-	//1.获取配置文件
29
+	// 1. 获取配置文件
43
 	cfg := config.GetConfig()
30
 	cfg := config.GetConfig()
44
 	cfg.SetAppName(appName)
31
 	cfg.SetAppName(appName)
45
 	cfg.SetAppVersion(appVersion)
32
 	cfg.SetAppVersion(appVersion)
46
 
33
 
47
-	//2.创建关闭容器
34
+	// 2. 创建关闭容器
48
 	ctr := container.NewContainer(cfg)
35
 	ctr := container.NewContainer(cfg)
49
 
36
 
50
-	//注册日志,实现自动关闭
37
+	// 注册日志,实现自动关闭
51
 	container.Reg(ctr, logBootFactory)
38
 	container.Reg(ctr, logBootFactory)
52
 
39
 
53
-	//3.创建数据库工厂--如果需求
40
+	// 3. 创建数据库工厂
54
 	dbFactory := container.Create(ctr, database.CreateDBFactory)
41
 	dbFactory := container.Create(ctr, database.CreateDBFactory)
55
-
56
-	// 赋值认证中间件参数
57
-	//middleware.JWTAuthMiddlewareInit(cfg)
58
-
59
-	//测试数据库连接
60
 	dbFactory.TestConnection()
42
 	dbFactory.TestConnection()
43
+	// 创建表
44
+	creteTabel(dbFactory)
45
+
46
+	//启用运行日志
47
+	container.Create(ctr, logger.InitRuntimeLogger)
61
 
48
 
49
+	//建立httpservice
62
 	//得到webservice服务工厂
50
 	//得到webservice服务工厂
63
 	webxFactory := webx.GetWebServiceFactory()
51
 	webxFactory := webx.GetWebServiceFactory()
64
 
52
 
66
 	webServcie, _ := webxFactory.CreateService(cfg.GetServiceConfig())
54
 	webServcie, _ := webxFactory.CreateService(cfg.GetServiceConfig())
67
 
55
 
68
 	//建立路由-api
56
 	//建立路由-api
69
-	routerService := router.NewWebService(webServcie.GetRouter())
70
-
57
+	//routerService := router.NewWebService(webServcie.GetRouter())
71
 	//注册路由--api
58
 	//注册路由--api
72
-	//registerDorisRouter(routerService, dbFactory)
59
+	//registerRoutes(routerService, dbFactory)
73
 
60
 
74
-	// 注册健康检查-api
75
-	health.RegisterConsulHealthCheck(routerService)
61
+	// 注册前端静态文件服务
62
+	//frontendHandler := ServeFrontend()
63
+	//webServcie.GetRouter().Handle("/", frontendHandler)
76
 
64
 
77
 	//启动服务
65
 	//启动服务
78
 	webServcie.Run()
66
 	webServcie.Run()
79
 
67
 
80
-	//启用运行日志
81
-	container.Create(ctr, logger.InitRuntimeLogger)
82
-
83
-	//注册到注册中心
84
-	container.Create(ctr, consul.Register)
85
 	//等待关闭
68
 	//等待关闭
86
-	//webServcie.WaitForServiceShutdown(ctr)
69
+	graceful.WaitForShutdown(cfg.GetServiceConfig().ServiceName, ctr, webServcie.GetServer())
87
 
70
 
88
-	//启动服务
89
-	webServcie.Run()
71
+}
90
 
72
 
91
-	//等待关闭
92
-	graceful.WaitForShutdown(cfg.GetServiceConfig().ServiceName, ctr, webServcie.GetServer())
73
+func creteTabel(factory *database.DBFactory) {
74
+
75
+	// 获取数据库连接和类型
76
+	db := factory.GetDB()
77
+	dbType := factory.GetDBType()
78
+
79
+	// 创建表同步器
80
+	syncer, err := sqldef.NewTableSyncer(db, dbType)
81
+	if err != nil {
82
+		log.Printf("创建 - 建立器失败: %v", err)
83
+	}
84
+
85
+	// 创建表
86
+	if err := syncer.CreateTables(); err != nil {
87
+		log.Printf("建表失败: %v", err)
88
+	}
93
 
89
 
90
+	log.Println("数据库表建立完成!")
94
 }
91
 }

Loading…
Zrušit
Uložit