fxgorm

package
v0.0.0-...-4ef61cc Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2023 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var FxGormModule = fx.Module(
	"gorm",
	fx.Provide(
		NewDefaultGormFactory,
		NewFxGorm,
	),
)

Functions

func FetchLogLevel

func FetchLogLevel(level string) logger.LogLevel

func NewFxGorm

func NewFxGorm(p FxGormParam) (*gorm.DB, error)

func NewGormTracerPlugin

func NewGormTracerPlugin(provider trace.TracerProvider, withValues bool) gorm.Plugin

func StartFxGorm

func StartFxGorm() fx.Option

Types

type DefaultGormFactory

type DefaultGormFactory struct{}

func (*DefaultGormFactory) Create

func (f *DefaultGormFactory) Create(options ...GormOption) (*gorm.DB, error)

type Driver

type Driver int
const (
	Unknown Driver = iota
	Sqlite3
	Mysql
	Postgres
	SqlServer
)

func FetchDriver

func FetchDriver(driver string) Driver

func (Driver) String

func (d Driver) String() string

type FxGormParam

type FxGormParam struct {
	fx.In
	LifeCycle      fx.Lifecycle
	Factory        GormFactory
	Config         *fxconfig.Config
	Logger         *fxlogger.Logger
	TracerProvider *trace.TracerProvider
}

type GormFactory

type GormFactory interface {
	Create(options ...GormOption) (*gorm.DB, error)
}

func NewDefaultGormFactory

func NewDefaultGormFactory() GormFactory

type GormLogger

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

func NewGormLogger

func NewGormLogger(logger *fxlogger.Logger, withValues bool) *GormLogger

func (*GormLogger) Error

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

func (*GormLogger) Info

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

func (*GormLogger) LogMode

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

func (*GormLogger) ParamsFilter

func (l *GormLogger) ParamsFilter(ctx context.Context, sql string, params ...interface{}) (string, []interface{})

func (*GormLogger) Trace

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

func (*GormLogger) Warn

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

type GormOption

type GormOption func(o *options)

func WithConfig

func WithConfig(c gorm.Config) GormOption

func WithDriver

func WithDriver(d Driver) GormOption

func WithDsn

func WithDsn(d string) GormOption

func WithPlugins

func WithPlugins(p ...gorm.Plugin) GormOption

type GormProbe

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

func NewGormProbe

func NewGormProbe(db *gorm.DB) *GormProbe

func (*GormProbe) Check

func (*GormProbe) Name

func (p *GormProbe) Name() string

type GormTracerPlugin

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

func (*GormTracerPlugin) Initialize

func (p *GormTracerPlugin) Initialize(db *gorm.DB) error

func (*GormTracerPlugin) Name

func (p *GormTracerPlugin) Name() string

Jump to

Keyboard shortcuts

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