Documentation
¶
Index ¶
Constants ¶
View Source
const ( // DsnFieldName — имя поля для DSN строки подключения. DsnFieldName = "db.mysql.dsn" // ConnectionErrorLimitFieldName — имя поля для лимита ошибок соединения. ConnectionErrorLimitFieldName = "db.mysql.connection.error.limit" // ConnectionErrorTimeoutFieldName — имя поля для таймаута при ошибках соединения. ConnectionErrorTimeoutFieldName = "db.mysql.connection.error.timeout" )
View Source
const DriverName = "mysql"
DriverName — имя драйвера MySQL.
Variables ¶
View Source
var ( // ConnectionErrorLimitDefault — лимит ошибок соединения по умолчанию. ConnectionErrorLimitDefault = uint64(10) // ConnectionErrorTimeoutDefault — таймаут при ошибках соединения по умолчанию. ConnectionErrorTimeoutDefault = 10 * time.Second )
View Source
var Component = compogo.Component{ Dependencies: compogo.Components{ &runner.Component, }, Init: compogo.StepFunc(func(container compogo.Container) error { return container.Provides( NewConfig, NewMySQL, ) }), BindFlags: compogo.BindFlags(func(flagSet flag.FlagSet, container compogo.Container) error { return container.Invoke(func(config *Config) { flagSet.StringVar(&config.DSN, DsnFieldName, "", "mysql dsn string connection") flagSet.Uint64Var(&config.ErrorLimit, ConnectionErrorLimitFieldName, ConnectionErrorLimitDefault, "") flagSet.DurationVar(&config.ErrorTimeout, ConnectionErrorTimeoutFieldName, ConnectionErrorTimeoutDefault, "") }) }), Configuration: compogo.StepFunc(func(container compogo.Container) error { return container.Invoke(Configuration) }), }
Component — компонент MySQL для Compogo. Регистрирует конфигурацию и клиент в DI-контейнере.
Пример подключения:
app.AddComponents(&mysql.Component)
var client mysql.Client
container.Invoke(func(c mysql.Client) { client = c })
rows, err := client.Query("SELECT * FROM users")
Functions ¶
This section is empty.
Types ¶
type Config ¶
Config содержит конфигурацию MySQL.
func Configuration ¶
func Configuration(config *Config, configurator compogo.Configurator) *Config
Configuration загружает конфигурацию из Configurator. Если DSN не задан, он должен быть получен из Configurator.
Click to show internal directories.
Click to hide internal directories.