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

已经解决

0
1
自由邪帝
我也遇到相同的问题 ,请问你这个问题怎么解决的
2022-03-23
共1条回复

仿微信抢红包 Golang实战多版本抢红包系统

Golang红包系统单体版+并发版+分布式+微服务版,四大金装版、超值必修课

582 学习 · 159 问题

查看课程