package main import ( "context" "database/sql" "go.uber.org/zap" "sundynix-go/core" "sundynix-go/global" "sundynix-go/initialize" ) 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) } }