Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MakeMasterPrimaryConnection ¶ added in v0.18.0
MakeMasterPrimaryConnection makes the master connection the primary one to be used as *sql.DB.
func NewConnection ¶
func NewConnection(params ConnectionParams) (*sql.DB, error)
NewConnection creates a new database connection and optionally registers a health check. It also registers a closer in the application lifecycle.
Types ¶
type AppConfig ¶ added in v0.7.0
type AppConfig struct { Host string `env:"" required:"true"` Port int `env:"" default:"3306"` User string `env:"" required:"true"` Pass string `env:""` // Required removed for now because empty value is not supported by Viper Name string `env:"" required:"true"` }
AppConfig can be used in an application config to represent database connection details. It supports github.com/goph/nest
type Config ¶
type Config struct { Driver string Dsn string // See https://golang.org/pkg/database/sql/#DB.SetConnMaxLifetime ConnMaxLifetime time.Duration // Zero means no change (default), negative means 0, positive means itself // See https://golang.org/pkg/database/sql/#DB.SetMaxIdleConns MaxIdleConns int // See https://golang.org/pkg/database/sql/#DB.SetMaxOpenConns MaxOpenConns int }
Config holds a list of options used during the debug server construction.
type ConnectionParams ¶
type ConnectionParams struct { dig.In Config *Config HealthCollector healthz.Collector `optional:"true"` Lifecycle fxt.Lifecycle }
ConnectionParams provides a set of dependencies for a database connection constructor.
type MasterSlaveConfigResult ¶
type MasterSlaveConfigResult struct { dig.Out Master *Config `name:"master"` Slave *Config `name:"slave"` }
MasterSlaveConfigResult can be used to register master and slave configurations in the container.
type MasterSlaveConnectionParams ¶
type MasterSlaveConnectionParams struct { dig.In MasterConfig *Config `name:"master"` SlaveConfig *Config `name:"slave"` HealthCollector healthz.Collector `optional:"true"` Lifecycle fxt.Lifecycle }
MasterSlaveConnectionParams provides a set of dependencies for a master-slave database connection constructor.
type MasterSlaveConnectionResult ¶
type MasterSlaveConnectionResult struct { dig.Out Master *sql.DB `name:"master"` Slave *sql.DB `name:"slave"` }
MasterSlaveConnectionResult contains the result connections of the NewMasterSlaveConnection constructor.
func NewMasterSlaveConnection ¶
func NewMasterSlaveConnection(params MasterSlaveConnectionParams) (MasterSlaveConnectionResult, error)
NewMasterSlaveConnection calls NewConnection twice with different input configurations.