Documentation ¶
Overview ¶
Copyright 2020 The Moov Authors Use of this source code is governed by an Apache License license that can be found in the LICENSE file.
Copyright 2020 The Moov Authors Use of this source code is governed by an Apache License license that can be found in the LICENSE file.
Copyright 2020 The Moov Authors Use of this source code is governed by an Apache License license that can be found in the LICENSE file.
Copyright 2020 The Moov Authors Use of this source code is governed by an Apache License license that can be found in the LICENSE file.
Copyright 2020 The Moov Authors Use of this source code is governed by an Apache License license that can be found in the LICENSE file.
Index ¶
- Constants
- func ApplyConnectionsConfig(db *sql.DB, connections *ConnectionsConfig, logger log.Logger) *sql.DB
- func DataTooLong(err error) bool
- func GetDriver(db *sql.DB, config DatabaseConfig) (source.Driver, database.Driver, error)
- func LoadTLSClientCertFromFile(logger log.Logger, certFile, keyFile string) (tls.Certificate, error)
- func LoadTLSClientCertsFromConfig(logger log.Logger, config *MySQLConfig) ([]tls.Certificate, error)
- func MySQLDataTooLong(err error) bool
- func MySQLDriver(db *sql.DB) (database.Driver, error)
- func MySQLUniqueViolation(err error) bool
- func New(ctx context.Context, logger log.Logger, config DatabaseConfig) (*sql.DB, error)
- func NewAndMigrate(ctx context.Context, logger log.Logger, config DatabaseConfig) (*sql.DB, error)
- func NewPkgerSource(database string) (source.Driver, error)
- func NopInTx() error
- func RecordMySQLStats(db *sql.DB) error
- func RunMigrations(logger log.Logger, config DatabaseConfig) error
- func UniqueViolation(err error) bool
- type ConnectionsConfig
- type DatabaseConfig
- type ErrOpenConnections
- type MySQLConfig
- type RunInTx
- type TLSClientCertConfig
Constants ¶
const MIGRATIONS_DIR = "/migrations/"
Variables ¶
This section is empty.
Functions ¶
func ApplyConnectionsConfig ¶ added in v0.17.0
func DataTooLong ¶ added in v0.32.0
func LoadTLSClientCertFromFile ¶ added in v0.35.0
func LoadTLSClientCertsFromConfig ¶ added in v0.35.0
func LoadTLSClientCertsFromConfig(logger log.Logger, config *MySQLConfig) ([]tls.Certificate, error)
func MySQLDataTooLong ¶ added in v0.32.0
MySQLDataTooLong returns true when the provided error matches the MySQL code for data too long for column (when trying to insert a value that is greater than the defined max size of the column).
func MySQLUniqueViolation ¶
MySQLUniqueViolation returns true when the provided error matches the MySQL code for duplicate entries (violating a unique table constraint).
func New ¶
New establishes a database connection according to the type and environmental variables for that specific database.
func NewAndMigrate ¶
func RecordMySQLStats ¶ added in v0.27.4
func RunMigrations ¶
func RunMigrations(logger log.Logger, config DatabaseConfig) error
func UniqueViolation ¶
UniqueViolation returns true when the provided error matches a database error for duplicate entries (violating a unique table constraint).
Types ¶
type ConnectionsConfig ¶ added in v0.17.0
type DatabaseConfig ¶
type DatabaseConfig struct { MySQL *MySQLConfig DatabaseName string }
type ErrOpenConnections ¶ added in v0.14.0
ErrOpenConnections describes the number of open connections that should have been closed by a call to Close(). All queries/transactions should call Close() to prevent unused, open connections.
func (ErrOpenConnections) Error ¶ added in v0.14.0
func (e ErrOpenConnections) Error() string
type MySQLConfig ¶
type MySQLConfig struct { Address string User string Password string Connections ConnectionsConfig UseTLS bool TLSCAFile string VerifyCAFile bool TLSClientCerts []TLSClientCertConfig // InsecureSkipVerify is a dangerous option which should be used with extreme caution. // This setting disables multiple security checks performed with TLS connections. InsecureSkipVerify bool }
func (*MySQLConfig) MarshalJSON ¶ added in v0.20.0
func (m *MySQLConfig) MarshalJSON() ([]byte, error)