kvs.Unmarshal函数 并没有 给 dbx.Settings 赋值
来源:4-7 基础设施层-mysql Starter编码(下)
慕粉3444241
2019-07-04
kvs.Unmarshal函数 并没有 给 dbx.Settings 赋值
package base
import (
_ "github.com/go-sql-driver/mysql"
"github.com/sirupsen/logrus"
"github.com/tietang/dbx"
"github.com/tietang/props/kvs"
"imooc.com/resk/src/imooc.com/resk/infra"
)
//dbx数据实例
var database *dbx.Database
func DbxDatabase() *dbx.Database {
return database
}
//dbx数据库starter,并设置为全局
type DbxDatabaseStarter struct {
infra.BaseStarter
}
func (s *DbxDatabaseStarter) Setup(ctx infra.StarterContext) {
conf := ctx.Props()
//数据库配置
settings := dbx.Settings{}
err := kvs.Unmarshal(conf, &settings, "mysql") //<<<< <<<< <<<< <<<< 这一行并未赋值
if err != nil {
panic(err)
}
logrus.Info("%+v\n", settings)
logrus.Info("mysql.conn url:", settings.ShortDataSourceName())
dbx, err := dbx.Open(settings)
if err != nil {
panic(err)
}
database = dbx
}
写回答
1回答
-
慕粉3444241
提问者
2019-07-04
已经解决
012022-03-23
相似问题