package main import ( "context" "database/sql" "sundynix-go/core" "sundynix-go/global" "sundynix-go/initialize" "go.uber.org/zap" ) // @title RBAC Swagger API接口文档 // @version v1.0.0 // @description 使用gin+gorm进行极速开发的全栈开发基础平台 // @securityDefinitions.apikey ApiKeyAuth // @in header // @name Authorization // @BasePath / func main() { //初始化viper global.Viper = core.Viper() //初始化zap global.Logger = core.Zap() //替换zap zap.ReplaceGlobals(global.Logger) //初始化gorm 连接数据库 global.DB = initialize.Gorm() //redis连接 initialize.Redis() global.Redis.Set(context.Background(), "test", 0, -1) //迁移数据库 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() }