database

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2021 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	MaxIdelConns = 10
	MaxOpenConns = 100
	MaxLifeTime  = time.Hour
	MaxIdleTime  = time.Hour
)
View Source
var (
	DefaultPageSize = 15
)
View Source
var DestSliceType = reflect.TypeOf([]interface{}{})
View Source
var Migrator func(tx *gorm.DB)
View Source
var ModelType = reflect.TypeOf(Model{})

Functions

func RegisterDriver added in v0.0.5

func RegisterDriver(name string, dr DriverRegister)

RegisterDriver register db driver

func WithDefaults added in v0.0.7

func WithDefaults()

Types

type Config added in v0.0.5

type Config struct {
	Default     string                       `yaml:"default" env:"DB_CONNECTION"`
	Connections map[string]*ConnectionConfig `yaml:"connections"`
	//ImplicitInjection: whether injection model to request handler implicit
	//  usage:
	//      w.Get("/users/:user", func(user models.User) models.User {
	//			return user
	//      })
	//
	ImplicitInjection bool `yaml:"implicit_injection"`
}

type ConnectionConfig added in v0.0.5

type ConnectionConfig struct {
	Driver string `yaml:"driver" default:"mysql"`
	DSN    string `yaml:"dsn" env:"DB_DSN"`
}

type DriverRegister added in v0.0.5

type DriverRegister func(dsn string) gorm.Dialector

func GetDriverRegister added in v0.0.5

func GetDriverRegister(name string) (DriverRegister, bool)

GetDriverRegister: get registerd driver

type Injector added in v0.0.2

type Injector struct {
	// contains filtered or unexported fields
}

func (Injector) Injection added in v0.0.2

func (ij Injector) Injection(abs interface{}, last reflect.Value) (reflect.Value, error)

func (Injector) When added in v0.0.2

func (ij Injector) When(abs interface{}) bool

type Model added in v0.0.7

type Model struct {
	*gorm.DB  `gorm:"-" json:"-" msgpack:"-"`
	Paginator *gormdb.Paginator `gorm:"-" json:"-"  msgpack:"-"`
	Dest      interface{}       `gorm:"-" json:"-"  msgpack:"-"`
	DestSlice interface{}       `gorm:"-" json:"-"  msgpack:"-"`
}

func (Model) Paginate added in v0.0.7

func (m Model) Paginate() (map[string]interface{}, error)

type Service added in v0.0.5

type Service struct {
	// contains filtered or unexported fields
}

Service of database

func NewService added in v0.0.7

func NewService() *Service

func (*Service) Lifetime added in v0.0.5

func (s *Service) Lifetime(ioc container.Interface, request contracts.RequestContract)

Lifetime container callback usually register request lifetime instance to IoC-Container (per-request unique) this function will run before every request

func (*Service) Register added in v0.0.5

func (s *Service) Register(app *framework.App) error

Register service when app starting, before http server start you can configure service, initialize global vars etc. running at main goroutine

Jump to

Keyboard shortcuts

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