Documentation
¶
Overview ¶
Package db defines interface for using RDBMS
Index ¶
- func Adapters() []string
- func Drivers() []string
- func RegisterAdapterFactory(name string, factory AdapterFactory)
- type Adapter
- type AdapterDefaults
- type AdapterFactory
- type Manager
- func (mgr *Manager) Close() error
- func (mgr *Manager) Config(name string) (config.DatabaseConfig, error)
- func (mgr *Manager) Default() (*Wrapper, error)
- func (mgr *Manager) DefaultConfig() (config.DatabaseConfig, error)
- func (mgr *Manager) DefaultName() (string, error)
- func (mgr *Manager) GetLogger() *dlog.Logger
- func (mgr *Manager) LoggerIdentity(justCallMe func() dlog.Identity) dlog.Identity
- func (mgr *Manager) PrintConfig()
- func (mgr *Manager) RegisteredAdapters() []string
- func (mgr *Manager) RegisteredDrivers() []string
- func (mgr *Manager) SetLogger(logger *dlog.Logger)
- func (mgr *Manager) Wrapper(name string, useDatabase bool) (*Wrapper, error)
- type Wrapper
- func (w *Wrapper) Adapter() Adapter
- func (w *Wrapper) Close() error
- func (w *Wrapper) CreateDatabase(name string) error
- func (w *Wrapper) GetDB() *sql.DB
- func (w *Wrapper) GetLogger() *dlog.Logger
- func (w *Wrapper) LoggerIdentity(justCallMe func() dlog.Identity) dlog.Identity
- func (w *Wrapper) Ping(timeout time.Duration) (time.Duration, error)
- func (w *Wrapper) SetDB(db *sql.DB)
- func (w *Wrapper) SetLogger(logger *dlog.Logger)
- func (w *Wrapper) Transaction() (*sql.Tx, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterAdapterFactory ¶
func RegisterAdapterFactory(name string, factory AdapterFactory)
Types ¶
type Adapter ¶
type Adapter interface { DriverName() string Defaults() AdapterDefaults FormatDSN(c config.DatabaseConfig) (string, error) CanCreateDatabase() bool Placeholders(count int) string }
Adapter is high level wrapper around underlying drivers
func GetAdapter ¶
TODO: future, adapter factory functions should allow passing config
type AdapterDefaults ¶
type AdapterFactory ¶
type AdapterFactory func() Adapter
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func NewManager ¶
func NewManager(config config.DatabaseManagerConfig) *Manager
func (*Manager) DefaultConfig ¶
func (mgr *Manager) DefaultConfig() (config.DatabaseConfig, error)
func (*Manager) DefaultName ¶
func (*Manager) LoggerIdentity ¶
func (*Manager) PrintConfig ¶
func (mgr *Manager) PrintConfig()
func (*Manager) RegisteredAdapters ¶
func (*Manager) RegisteredDrivers ¶
type Wrapper ¶
type Wrapper struct {
// contains filtered or unexported fields
}
func NewWrapper ¶
func (*Wrapper) CreateDatabase ¶
func (*Wrapper) LoggerIdentity ¶
Directories
¶
Path | Synopsis |
---|---|
adapters
|
|
mysql
Package mysql wraps github.com/go-sql-driver/mysql
|
Package mysql wraps github.com/go-sql-driver/mysql |
postgres
Package postgres wraps github.com/jackc/pgx
|
Package postgres wraps github.com/jackc/pgx |
sqlite
Package sqlite wraps github.com/mattn/go-sqlite3
|
Package sqlite wraps github.com/mattn/go-sqlite3 |
Package migration provides database schema migration
|
Package migration provides database schema migration |
Click to show internal directories.
Click to hide internal directories.