Documentation
¶
Index ¶
Constants ¶
View Source
const ( DefaultMaxIdleConnsMultiplier = 4 DefaultMaxOpenConnsMultiplier = 16 DefaultMinIdleConns = 25 DefaultMinOpenConns = 100 DefaultConnMaxIdleTime = 5 * time.Minute DefaultConnMaxLifetime = 30 * time.Minute )
Variables ¶
View Source
var (
ErrUnsupportedDbType = errors.New("unsupported database type")
)
View Source
var ( Module = fx.Module( "vef:database", fx.Provide( fx.Annotate( func(lc fx.Lifecycle, config *config.DatasourceConfig) (db *bun.DB, err error) { if db, err = New(config); err != nil { return db, err } provider, exists := registry.provider(config.Type) if !exists { return nil, newUnsupportedDbTypeError(config.Type) } lc.Append( fx.StartStopHook( func(ctx context.Context) error { if err := db.PingContext(ctx); err != nil { return wrapPingError(provider.Type(), err) } if err := logDbVersion(provider, db, logger); err != nil { return err } logger.Infof("Database client started successfully: %s", provider.Type()) return nil }, func() error { logger.Info("Closing database connection...") return db.Close() }, ), ) return db, err }, fx.As(new(bun.IDB)), fx.As(fx.Self()), ), func(db *bun.DB) *sql.DB { return db.DB }, ), ) )
Functions ¶
Types ¶
type ConnectionPoolConfig ¶
type ConnectionPoolConfig struct {
MaxIdleConns int
MaxOpenConns int
ConnMaxIdleTime time.Duration
ConnMaxLifetime time.Duration
}
func NewDefaultConnectionPoolConfig ¶
func NewDefaultConnectionPoolConfig() *ConnectionPoolConfig
type DatabaseError ¶
func (*DatabaseError) Error ¶
func (e *DatabaseError) Error() string
func (*DatabaseError) Unwrap ¶
func (e *DatabaseError) Unwrap() error
type DatabaseProvider ¶
type Option ¶
type Option func(*databaseOptions)
func DisableQueryHook ¶ added in v0.5.4
func DisableQueryHook() Option
DisableQueryHook disables query logging which is enabled by default.
func DisableSqlGuard ¶ added in v0.16.0
func DisableSqlGuard() Option
DisableSqlGuard disables the sql guard.
func WithBunOptions ¶
func WithConnectionPool ¶
func WithConnectionPool(poolConfig *ConnectionPoolConfig) Option
func WithLogger ¶
func WithSqlGuardConfig ¶ added in v0.16.0
WithSqlGuardConfig sets a custom sql guard configuration.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.