Files
sundynix-plant-be/main.go
T
2026-02-10 12:35:46 +08:00

52 lines
1.2 KiB
Go

package main
import (
"database/sql"
"sundynix-go/core"
"sundynix-go/global"
"sundynix-go/initialize"
"sundynix-go/pkg/httpclient"
"go.uber.org/zap"
)
// @title Swagger API接口文档
// @version v1.0.0
// @description 使用gin + gorm进行极速开发的全栈开发基础平台
// @securityDefinitions.apikey BearerAuth
// @in header
// @name Authorization
// @BasePath /
func main() {
//viper
global.Viper = core.Viper()
//canzap
global.Logger = core.Zap()
//swap
zap.ReplaceGlobals(global.Logger)
//初始化Gorm 连接数据库
global.DB = initialize.Gorm()
//redis
initialize.Redis()
// timer
//initialize.InitTimer()
// httpclient 主动初始化 HTTP Client(可选,也可依赖懒加载)饿汉加载
httpclient.InitHttpClient()
//迁移数据库
if global.DB != nil {
initialize.MigrateTable() // 迁移数据库结构
db, _ := global.DB.DB()
defer func(db *sql.DB) {
err := db.Close()
if err != nil {
global.Logger.Error("db close failed", zap.Error(err))
}
}(db)
}
//初始化路由
initialize.Routers()
}