46 lines
935 B
Go
46 lines
935 B
Go
package database
|
|
|
|
type ConfigBuilder struct {
|
|
config *Config
|
|
}
|
|
|
|
func NewConfigBuilder() *ConfigBuilder {
|
|
return &ConfigBuilder{
|
|
config: NewConfig(),
|
|
}
|
|
}
|
|
|
|
func (cb *ConfigBuilder) DSN(dsn string) *ConfigBuilder {
|
|
cb.config.DSN = dsn
|
|
return cb
|
|
}
|
|
|
|
func (cb *ConfigBuilder) MaxIdleConns(maxIdleConns int) *ConfigBuilder {
|
|
cb.config.MaxIdleConns = maxIdleConns
|
|
return cb
|
|
}
|
|
|
|
func (cb *ConfigBuilder) MaxOpenConns(maxOpenConns int) *ConfigBuilder {
|
|
cb.config.MaxOpenConns = maxOpenConns
|
|
return cb
|
|
}
|
|
|
|
func (cb *ConfigBuilder) ConnMaxLifetime(connMaxLifetime int) *ConfigBuilder {
|
|
cb.config.ConnMaxLifetime = connMaxLifetime
|
|
return cb
|
|
}
|
|
|
|
func (cb *ConfigBuilder) AutoMigrate(autoMigrate bool) *ConfigBuilder {
|
|
cb.config.AutoMigrate = autoMigrate
|
|
return cb
|
|
}
|
|
|
|
func (cb *ConfigBuilder) ShowSQL(showSql bool) *ConfigBuilder {
|
|
cb.config.ShowSql = showSql
|
|
return cb
|
|
}
|
|
|
|
func (cb *ConfigBuilder) Build() *Config {
|
|
return cb.config
|
|
}
|