package db import ( "context" "git.shuncheng.lu/bigthing/gocommon/pkg/database/common_db" "git.shuncheng.lu/bigthing/gocommon/pkg/internal/util" "xorm.io/xorm" ) var ( group common_db.DbConn ) //主库从库engine group func Init() error { newGroup, err := common_db.NewDbConn("mysql") if err != nil { return err } group = newGroup return nil } func Close() { err := group.Close() if err != nil { util.Errorf("[DB] Close err, err=%v", err) } } //主库engine func StdMasterDB() *xorm.Engine { return group.NewMasterEngine() } //从库engine func StdSlaveDB() *xorm.Engine { return group.NewSlaveEngine() } //主库engine func NewSlaveSession(ctx context.Context) *xorm.Session { return group.NewSlaveCtxSession(ctx) } //从库engine func NewMasterSession(ctx context.Context) *xorm.Session { return group.NewMasterCtxSession(ctx) }