Няма описание
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package main
  2. import (
  3. "log"
  4. "git.x2erp.com/qdy/go-base/bootstraps"
  5. "git.x2erp.com/qdy/go-db/factory/database"
  6. "git.x2erp.com/qdy/go-db/sqldef"
  7. "go-micro.dev/v4/web"
  8. _ "git.x2erp.com/qdy/go-svc-mercury/tables" // 导入表定义包,触发 init() 函数
  9. )
  10. var (
  11. serviceName = "svc-configure"
  12. serviceVersion = "1"
  13. )
  14. func main() {
  15. // 创建服务启动器
  16. bootstrapper := bootstraps.NewServiceBootstrapper(serviceName, serviceVersion)
  17. //加载配置
  18. bootstrapper.InitConfig()
  19. //构建数据库工厂
  20. bootstrapper.InitDatabase()
  21. //创建表到数据库
  22. creteTabel(bootstrapper.DbFactory)
  23. // 启动服务,传入路由注册函数
  24. bootstrapper.Run(registerRoutes)
  25. }
  26. // 注册所有路由
  27. func registerRoutes(webService web.Service, dbFactory *database.DBFactory) {
  28. // // 查询yaml配置文件
  29. // webService.Handle("/api/query/yaml", middleware.JWTAuthMiddleware(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
  30. // myhandle.QueryHandlerMap(w, r, dbFactory, service.QueryYamlConfigure)
  31. // })))
  32. // // 初始化配置模版
  33. // webService.Handle("/api/init/config/template", middleware.JWTAuthMiddleware(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
  34. // myhandle.QueryHandlerMap(w, r, dbFactory, service.InitConfigTemplates)
  35. // })))
  36. }
  37. func creteTabel(factory *database.DBFactory) {
  38. // 获取数据库连接和类型
  39. db := factory.GetDB()
  40. dbType := factory.GetDBType()
  41. // 创建表同步器
  42. syncer, err := sqldef.NewTableSyncer(db, dbType)
  43. if err != nil {
  44. log.Printf("创建 - 建立器失败: %v", err)
  45. }
  46. // 创建表
  47. if err := syncer.CreateTables(); err != nil {
  48. log.Printf("建表失败: %v", err)
  49. }
  50. log.Println("数据库表建立完成!")
  51. }