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