gormex

package
v0.2.10 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2023 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SqlLogFormat = "elapsed:%dms,affect:%d,err:%s,sql:%s"
)

Variables

View Source
var MySqlComponent = embedded.NewComponent[*gorm.DB]()

Functions

func BaseGroup

func BaseGroup[T dependency.IEntity](f func(v ...*T) (int64, error), opt *dependency.BaseOption, p ...*T) (int64, error)

BaseGroup

func CoreFrmCtx

func CoreFrmCtx(ctx context.Context, id string) *gorm.DB

CoreFrmCtx

func GetDbTX

func GetDbTX(id string) contextex.ContextKey

func GetTransactionDb

func GetTransactionDb(id string) *gorm.DB

func Log

func Log(ctx context.Context, lvl iLog.Level, msg string)

func NewContext

func NewContext(ctx context.Context, id string, newdb *gorm.DB) context.Context

func NewLogger

func NewLogger() logger.Interface

func NewMySqlClient

func NewMySqlClient(dsn string, log logger.Interface) (*gorm.DB, error)

reference docs: https://github.com/go-sql-driver/mysql#dsn-data-source-name dsn := "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local&timeout=1m" NewMySqlClient new a mysql client by dsn with logger

func NewUnitOfWork

func NewUnitOfWork(id string) dependency.IUnitOfWork

func Option2Page added in v0.0.7

func Option2Page(db *gorm.DB, opt *dependency.BaseOption) *gorm.DB

Option2Page

func ReadOnly

func ReadOnly(ctx context.Context, id string) *gorm.DB

ReadOnly

func SetDisableQueryFields

func SetDisableQueryFields()

func SyncDbStruct added in v0.0.11

func SyncDbStruct(dbShardingKeys [][]any, pos ...dependency.IPo) error

SyncDbStruct

func WithContext

func WithContext(ctx context.Context, id string) *gorm.DB

Types

type BaseRepository

type BaseRepository[T dependency.IEntity] struct{} // base repository

func (*BaseRepository[T]) BaseCount

func (r *BaseRepository[T]) BaseCount(ctx context.Context, opts ...dependency.BaseOptionFunc) (int64, error)

BaseCount

func (*BaseRepository[T]) BaseCreate

func (r *BaseRepository[T]) BaseCreate(ctx context.Context, ps []*T, opts ...dependency.BaseOptionFunc) (int64, error)

BaseCreate

func (*BaseRepository[T]) BaseDelete

func (r *BaseRepository[T]) BaseDelete(ctx context.Context, p *T, opts ...dependency.BaseOptionFunc) (int64, error)

BaseDelete

func (*BaseRepository[T]) BaseGet

func (r *BaseRepository[T]) BaseGet(ctx context.Context, opts ...dependency.BaseOptionFunc) (*T, error)

BaseGet

func (*BaseRepository[T]) BaseQuery

func (r *BaseRepository[T]) BaseQuery(ctx context.Context, opts ...dependency.BaseOptionFunc) ([]T, error)

BaseQuery

func (*BaseRepository[T]) BaseQueryWithCount added in v0.1.0

func (r *BaseRepository[T]) BaseQueryWithCount(ctx context.Context, opts ...dependency.BaseOptionFunc) ([]T, int64, error)

BaseQueryWithCount

func (*BaseRepository[T]) BaseSave

func (r *BaseRepository[T]) BaseSave(ctx context.Context, ps []*T, opts ...dependency.BaseOptionFunc) (int64, error)

BaseSave

func (*BaseRepository[T]) BaseUpdate

func (r *BaseRepository[T]) BaseUpdate(ctx context.Context, p *T, opts ...dependency.BaseOptionFunc) (int64, error)

BaseUpdate

func (*BaseRepository[T]) BuildConds

func (r *BaseRepository[T]) BuildConds(ctx context.Context, t *T, opt *dependency.BaseOption) *gorm.DB

BuildConds

func (*BaseRepository[T]) BuildFrmOption

func (r *BaseRepository[T]) BuildFrmOption(ctx context.Context, t *T, opt *dependency.BaseOption) *gorm.DB

BuildFrmOption

func (*BaseRepository[T]) BuildFrmOptions added in v0.0.7

func (r *BaseRepository[T]) BuildFrmOptions(ctx context.Context, t *T, opts ...dependency.BaseOptionFunc) *gorm.DB

BuildFrmOptions

type GormLogger

type GormLogger struct {
	LogLevel                  logger.LogLevel
	IgnoreRecordNotFoundError bool
	SlowThreshold             time.Duration
	// contains filtered or unexported fields
}

func (*GormLogger) Error

func (l *GormLogger) Error(ctx context.Context, msg string, args ...interface{})

func (*GormLogger) Info

func (l *GormLogger) Info(ctx context.Context, msg string, args ...interface{})

func (*GormLogger) LogMode

func (l *GormLogger) LogMode(level logger.LogLevel) logger.Interface

func (*GormLogger) Trace

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

func (*GormLogger) Warn

func (l *GormLogger) Warn(ctx context.Context, msg string, args ...interface{})

type GormTransactionImpl

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

func (*GormTransactionImpl) Execute

func (t *GormTransactionImpl) Execute(ctx context.Context, fs ...dependency.DbAction) (e error)

Execute An execution function is passed in, and transactions are executed within the function.

type TaskQueueRepository added in v0.2.3

type TaskQueueRepository[T dependency.ITask] struct {
	BaseRepository[T]
}

func (TaskQueueRepository[T]) CountByCreator added in v0.2.3

func (r TaskQueueRepository[T]) CountByCreator(ctx context.Context, createBy, status int64) (int64, error)

CountByCreator 请求者当前执行数量

func (TaskQueueRepository[T]) FindLockeds added in v0.2.3

func (r TaskQueueRepository[T]) FindLockeds(ctx context.Context, locker string) ([]T, error)

FindLockeds 找到被锁定的记录

func (TaskQueueRepository[T]) ReportExecResult added in v0.2.3

func (r TaskQueueRepository[T]) ReportExecResult(ctx context.Context, id int64, locker string, execResult string, execErr error) (int64, error)

ReportExecResult 汇报执行结果

func (TaskQueueRepository[T]) WaitExecWithLock added in v0.2.3

func (r TaskQueueRepository[T]) WaitExecWithLock(ctx context.Context, t T, batch int) (string, int64, error)

WaitExecWithLock 需要锁定的记录

Jump to

Keyboard shortcuts

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