Documentation ¶
Index ¶
- Constants
- func CloseDBConn(dbConn *gorm.DB)
- func GetConn(DBName string, connType ConnType) *gorm.DB
- func OpenDBConn(conf []MultiDbConf) *gorm.DB
- type ConnStringBuilder
- func (c *ConnStringBuilder) Build() string
- func (c *ConnStringBuilder) SetDbname(Dbname string) *ConnStringBuilder
- func (c *ConnStringBuilder) SetFormat(Format string) *ConnStringBuilder
- func (c *ConnStringBuilder) SetHost(Host string) *ConnStringBuilder
- func (c *ConnStringBuilder) SetOptions(Options map[string]string) *ConnStringBuilder
- func (c *ConnStringBuilder) SetPassword(Password string) *ConnStringBuilder
- func (c *ConnStringBuilder) SetPort(Port string) *ConnStringBuilder
- func (c *ConnStringBuilder) SetUsername(Username string) *ConnStringBuilder
- func (c *ConnStringBuilder) SetWithConfig(cfg *viper.Viper) *ConnStringBuilder
- type ConnType
- type Manager
- func (m *Manager) AddAdminConnString(connString string)
- func (m *Manager) AddConnString(connString string)
- func (m *Manager) AddConnStrings(connString []string)
- func (m *Manager) AdminConn() *gorm.DB
- func (m *Manager) Close()
- func (m *Manager) CloseMaster()
- func (m *Manager) CloseSlaves()
- func (m *Manager) MasterConn() *gorm.DB
- func (m *Manager) Open() *Manager
- func (m *Manager) OpenAdmin() *Manager
- func (m *Manager) OpenMaster() *Manager
- func (m *Manager) OpenSlaves() *Manager
- func (m *Manager) SetLogMode(logMode bool)
- func (m *Manager) SlaveConn() *gorm.DB
- type MultiDbConf
Constants ¶
const MSSQL = "MSSQL"
MSSQL ...
const MySQL = "MYSQL"
MySQL ...
const PostGres = "POSTGRES"
PostGres ...
Variables ¶
This section is empty.
Functions ¶
func CloseDBConn ¶ added in v1.1.0
CloseDBConn close database connection
func OpenDBConn ¶ added in v1.1.0
func OpenDBConn(conf []MultiDbConf) *gorm.DB
OpenDBConn connect to multiple DB sources (mysql only)
Types ¶
type ConnStringBuilder ¶
type ConnStringBuilder struct { Host string Port string Username string Password string Dbname string Format string Options map[string]string }
ConnStringBuilder ...
func (*ConnStringBuilder) SetDbname ¶
func (c *ConnStringBuilder) SetDbname(Dbname string) *ConnStringBuilder
SetDbname ...
func (*ConnStringBuilder) SetFormat ¶
func (c *ConnStringBuilder) SetFormat(Format string) *ConnStringBuilder
SetFormat ...
func (*ConnStringBuilder) SetHost ¶
func (c *ConnStringBuilder) SetHost(Host string) *ConnStringBuilder
SetHost ...
func (*ConnStringBuilder) SetOptions ¶
func (c *ConnStringBuilder) SetOptions(Options map[string]string) *ConnStringBuilder
SetOptions ...
func (*ConnStringBuilder) SetPassword ¶
func (c *ConnStringBuilder) SetPassword(Password string) *ConnStringBuilder
SetPassword ...
func (*ConnStringBuilder) SetPort ¶
func (c *ConnStringBuilder) SetPort(Port string) *ConnStringBuilder
SetPort ...
func (*ConnStringBuilder) SetUsername ¶
func (c *ConnStringBuilder) SetUsername(Username string) *ConnStringBuilder
SetUsername ...
func (*ConnStringBuilder) SetWithConfig ¶
func (c *ConnStringBuilder) SetWithConfig(cfg *viper.Viper) *ConnStringBuilder
SetWithConfig ...
type ConnType ¶ added in v1.1.0
type ConnType int64
const ConnTypeMaster ConnType = 1
ConnTypeMaster ...
const ConnTypeSlave ConnType = 0
ConnTypeSlave ...
type Manager ¶
type Manager struct { Driver string ConnMaxLifetime time.Duration MaxIdleConns int MaxOpenConns int Admin *gorm.DB Master *gorm.DB Slaves []*gorm.DB }
Manager ...
func (*Manager) AddAdminConnString ¶
AddAdminConnString can add admin connect string
func (*Manager) AddConnString ¶
AddConnString can add connect string. First string will be the master
func (*Manager) AddConnStrings ¶
AddConnStrings can add mulitple connect strings. First string will be the master
func (*Manager) CloseMaster ¶
func (m *Manager) CloseMaster()
CloseMaster will release all master instance
func (*Manager) CloseSlaves ¶
func (m *Manager) CloseSlaves()
CloseSlaves will release all slave instances
func (*Manager) MasterConn ¶
MasterConn will return master connection
func (*Manager) OpenMaster ¶
OpenMaster will create master instance
func (*Manager) OpenSlaves ¶
OpenSlaves will create slave instances
func (*Manager) SetLogMode ¶
SetLogMode will change SQL log mode (default: false)
type MultiDbConf ¶ added in v1.1.0
type MultiDbConf struct { Master string // master db dsn Slaves []string // slave db dsn array DbName string // db name }
MultiDbConf represents for config for 1 master DB and several slave DB