database

package
v0.1.8 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2023 License: MIT Imports: 5 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Database added in v0.1.0

type Database interface {
	Reader
	Writer
	Migration
}

func NewConnection added in v0.1.0

func NewConnection(param DatabaseParam, logger *logrus.Logger) Database

type DatabaseParam added in v0.1.0

type DatabaseParam struct {
	ConnectionStr string
	DatabaseName  string
	MaxLifetime   time.Duration
	MaxIdleConns  int
	MaxOpenConns  int
}

type Migration added in v0.1.0

type Migration interface {
	RunSchema(schemas []string, logger *logrus.Logger)
	RebuildIndexes(logger *logrus.Logger)
	Insert(ctx context.Context, query string, args ...interface{}) (int64, bool)
	Query(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
	Select(ctx context.Context, query string, args ...interface{}) *sql.Row
	Update(ctx context.Context, query string, args ...interface{}) bool
	Delete(ctx context.Context, query string, args ...interface{}) bool
}

type Reader added in v0.1.0

type Reader interface {
	Query(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
	Select(ctx context.Context, query string, args ...interface{}) *sql.Row
}

type Writer added in v0.1.0

type Writer interface {
	Insert(ctx context.Context, query string, args ...interface{}) (int64, bool)
	Update(ctx context.Context, query string, args ...interface{}) bool
	Delete(ctx context.Context, query string, args ...interface{}) bool
}

Jump to

Keyboard shortcuts

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