Help us shape the future of Go! Take the 2026 Go Developer Survey

orm

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 27, 2022 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewPBGorm

func NewPBGorm(params ...interface{}) (interface{}, error)

NewPBGorm 代表实例化Gorm

func WithConfigPath

func WithConfigPath(configPath string) contract.DBOption

WithConfigPath 从database.yaml加载配置

func WithGormConfig

func WithGormConfig(config *gorm.Config) contract.DBOption

Types

type DBConfig

type DBConfig struct {
	// 以下配置关于dsn
	WriteTimeout string `yaml:"write_timeout"`
	Loc          string `yaml:"loc"`
	Port         int    `yaml:"port"`
	ReadTimeout  string `yaml:"read_timeout"`
	Charset      string `yaml:"charset"`
	ParseTime    bool   `yaml:"parse_time"`
	Protocol     string `yaml:"protocol"`
	Dsn          string `yaml:"dsn"`
	Database     string `yaml:"database"`
	Collation    string `yaml:"collation"`
	Timeout      string `yaml:"timeout"`
	Username     string `yaml:"username"`
	Password     string `yaml:"password"`
	Driver       string `yaml:"driver"`
	Host         string `yaml:"host"`

	// 以下配置关于连接池
	ConnMaxIdle     int    `yaml:"conn_max_idle"`     // 最大空闲连接数
	ConnMaxOpen     int    `yaml:"conn_max_open"`     // 最大连接数
	ConnMaxLifetime string `yaml:"conn_max_lifetime"` // 连接最大生命周期
	ConnMaxIdletime string `yaml:"conn_max_idletime"` // 空闲最大生命周期

}

DBConfig 代表数据库连接的所有配置

func GetBaseConfig

func GetBaseConfig(c framework.Container) *DBConfig

GetBaseConfig 读取database.yaml根目录结构

func (*DBConfig) FormatDsn

func (conf *DBConfig) FormatDsn() (string, error)

FormatDsn 生成dsn

type GormProvider

type GormProvider struct{}

GormProvider 提供App的具体实现方法

func (*GormProvider) Boot

func (pb *GormProvider) Boot(container framework.Container) error

Boot 启动调用

func (*GormProvider) IsDefer

func (pb *GormProvider) IsDefer() bool

IsDefer 是否延迟初始化

func (*GormProvider) Name

func (pb *GormProvider) Name() string

Name 获取字符串凭证

func (*GormProvider) Params

func (pb *GormProvider) Params(container framework.Container) []interface{}

Params 获取初始化参数

func (*GormProvider) Register

func (pb *GormProvider) Register(container framework.Container) framework.NewInstance

Register 注册方法

type OrmLogger

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

OrmLogger orm的日志实现类, 实现了gorm.Logger.Interface

func NewOrmLogger

func NewOrmLogger(logger contract.Log) *OrmLogger

NewOrmLogger 初始化一个ormLogger,

func (*OrmLogger) Error

func (o *OrmLogger) Error(ctx context.Context, msg string, i ...interface{})

Error 对接PB的error输出

func (*OrmLogger) Info

func (o *OrmLogger) Info(ctx context.Context, msg string, i ...interface{})

Info 对接PB的info输出

func (*OrmLogger) LogMode

声明函数以实现gorm.Logger.Interface的方法

func (*OrmLogger) Trace

func (o *OrmLogger) Trace(ctx context.Context, begin time.Time,
	fc func() (sql string, rowsAffected int64), err error)

Trace 对接PB的Trace输出

func (*OrmLogger) Warn

func (o *OrmLogger) Warn(ctx context.Context, msg string, i ...interface{})

Warn 对接PB的warn输出

type PBGorm

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

PBGorm 代表PB框架的orm实现

func (*PBGorm) GetDB

func (pb *PBGorm) GetDB(option ...contract.DBOption) (*gorm.DB, error)

GetDB

Jump to

Keyboard shortcuts

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