database

package
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 19, 2024 License: MIT Imports: 7 Imported by: 2

Documentation

Index

Constants

View Source
const (
	Postgres = "postgres"
	Mysql    = "mysql"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type DB

type DB struct {
	Master                *sqlx.DB
	Slave                 *sqlx.DB
	Logger                *logger.Logger
	Config                DatabaseConfig
	Debug                 bool
	IsStopCheckConnection chan bool
	Scope                 string
}

func NewDatabase

func NewDatabase(config DatabaseConfig, logger *logger.Logger, scope string, debug bool) (*DB, error)

func (*DB) CheckConnection

func (db *DB) CheckConnection()

func (*DB) Close

func (db *DB) Close() error

func (*DB) CommitDBTransaction

func (s *DB) CommitDBTransaction(ctx context.Context, tx *sqlx.Tx) (err error)

CommitDBTransaction commits database transaction

func (*DB) CreateDBTransaction

func (s *DB) CreateDBTransaction(ctx context.Context) (tx *sqlx.Tx, err error)

CreateDBTransaction creates new database transaction

func (*DB) GetMasterConnection

func (db *DB) GetMasterConnection() (*sqlx.DB, error)

func (*DB) Read

func (s *DB) Read(ctx context.Context, query string, params map[string]interface{}) (rows *sqlx.Rows, err error)

Read database data

func (*DB) Write

func (s *DB) Write(ctx context.Context, tx *sqlx.Tx, query string, params map[string]interface{}) (err error)

Write database transaction

type DatabaseConfig

type DatabaseConfig struct {
	DriverName              string
	SourceMaster            string
	SourceSlave             string
	MaxOpenConns            int
	MaxIdleConns            int
	ConnMaxLifetime         int
	IntervalCheckConnection int
}

type IDatabase

type IDatabase interface {
	GetMasterConnection() (*sqlx.DB, error)

	CreateDBTransaction(ctx context.Context) (tx *sqlx.Tx, err error)
	CommitDBTransaction(ctx context.Context, tx *sqlx.Tx) (err error)
	Write(ctx context.Context, tx *sqlx.Tx, query string, params map[string]interface{}) (err error)
	Read(ctx context.Context, query string, params map[string]interface{}) (rows *sqlx.Rows, err error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL