db

package
v1.0.6 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2023 License: BSD-1-Clause Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HasDefaultDB

func HasDefaultDB(db_key DATABASE_KEY, p Pool[*gorm.DB]) bool

Types

type DATABASE_KEY

type DATABASE_KEY string

Database key type. This can be used to fetch a database connection from the pool.

const (
	// Default database key.
	DEFAULT_DATABASE_KEY DATABASE_KEY = "default"
)

type DatabasePoolItem added in v1.0.6

type DatabasePoolItem struct {
	DEFAULT_DATABASE string
	DB_NAME          string
	DB_USER          string
	DB_PASS          string
	DB_HOST          string
	DB_PORT          int
	DB_SSLMODE       string
	Config           *gorm.Config

	DBKey DATABASE_KEY
	// contains filtered or unexported fields
}

func (*DatabasePoolItem) AutoMigrate added in v1.0.6

func (m *DatabasePoolItem) AutoMigrate() error

func (*DatabasePoolItem) DB added in v1.0.6

func (m *DatabasePoolItem) DB() *gorm.DB

func (*DatabasePoolItem) Init added in v1.0.6

func (d *DatabasePoolItem) Init() *gorm.DB

func (*DatabasePoolItem) Key added in v1.0.6

func (m *DatabasePoolItem) Key() DATABASE_KEY

func (*DatabasePoolItem) Models added in v1.0.6

func (m *DatabasePoolItem) Models() []interface{}

func (*DatabasePoolItem) Register added in v1.0.6

func (m *DatabasePoolItem) Register(model ...interface{}) error

type Pool

type Pool[T any] interface {
	Add(DB PoolItem[T]) error
	Get(DB_KEY DATABASE_KEY) (PoolItem[T], error)
	ByModel(model interface{}) (PoolItem[T], error)
	Delete(DB_KEY DATABASE_KEY)
	AutoMigrate() error
	Register(DB_KEY DATABASE_KEY, model ...interface{}) error
	GetDefaultDB() PoolItem[T]
	Databases() []PoolItem[T]
}

A pool of database connections.

func NewPool

func NewPool(defaultDBItem PoolItem[*gorm.DB]) Pool[*gorm.DB]

type PoolItem

type PoolItem[T any] interface {
	Key() DATABASE_KEY
	DB() T
	Models() []interface{}
	Register(model ...interface{}) error
	AutoMigrate() error
}

func GetDefaultDatabase

func GetDefaultDatabase(db_key DATABASE_KEY, pool Pool[*gorm.DB]) PoolItem[*gorm.DB]

func RegisterDefaultDB added in v1.0.6

func RegisterDefaultDB(db_key DATABASE_KEY, database *gorm.DB) PoolItem[*gorm.DB]

Jump to

Keyboard shortcuts

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