db

package
v1.16.4 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2025 License: MIT Imports: 26 Imported by: 11

Documentation

Index

Constants

This section is empty.

Variables

View Source
var NameMapper = func(s string) string {
	if s == "ID" {
		return "id"
	}

	return str.Of(s).Snake().String()
}

Functions

func DisableQueryLog added in v1.15.12

func DisableQueryLog(ctx context.Context) context.Context

func EnableQueryLog added in v1.15.12

func EnableQueryLog(ctx context.Context) context.Context

func NewLogger added in v1.15.12

func NewLogger(config config.Config, log log.Log) logger.Logger

func Raw

func Raw(expr string, args ...any) any

func ToCarbonHookFunc added in v1.15.12

func ToCarbonHookFunc() mapstructure.DecodeHookFunc

func ToDeletedAtHookFunc added in v1.15.12

func ToDeletedAtHookFunc() mapstructure.DecodeHookFunc

func ToStringHookFunc added in v1.15.12

func ToStringHookFunc() mapstructure.DecodeHookFunc

ToStringHookFunc is a hook function that converts []uint8 to string. Mysql returns []uint8 for String type when scanning the rows.

func ToTimeHookFunc added in v1.15.12

func ToTimeHookFunc() mapstructure.DecodeHookFunc

Types

type Builder added in v1.15.12

type Builder struct {
	*sqlx.DB
	// contains filtered or unexported fields
}

func NewBuilder added in v1.15.12

func NewBuilder(gormDB *gorm.DB, driver string) (*Builder, error)

func (*Builder) Explain added in v1.15.12

func (r *Builder) Explain(sql string, args ...any) string

type DB added in v1.15.12

type DB struct {
	contractsdb.Tx
	// contains filtered or unexported fields
}

func BuildDB added in v1.15.12

func BuildDB(ctx context.Context, config config.Config, log log.Log, connection string) (*DB, error)

func NewDB added in v1.15.12

func NewDB(ctx context.Context, config config.Config, driver contractsdriver.Driver, logger contractslogger.Logger, gormDB *gorm.DB) (*DB, error)

func (*DB) BeginTransaction added in v1.15.12

func (r *DB) BeginTransaction() (contractsdb.Tx, error)

func (*DB) Connection added in v1.15.12

func (r *DB) Connection(name string) contractsdb.DB

func (*DB) Transaction added in v1.15.12

func (r *DB) Transaction(callback func(tx contractsdb.Tx) error) (err error)

func (*DB) WithContext added in v1.15.12

func (r *DB) WithContext(ctx context.Context) contractsdb.DB

type Expr added in v1.15.12

type Expr struct {
	clause.Expr
}

func (Expr) ToSql added in v1.15.12

func (r Expr) ToSql() (sql string, args []any, err error)

type Gorm added in v1.15.12

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

func NewGorm added in v1.15.12

func NewGorm(logger logger.Logger) *Gorm

func (*Gorm) Error added in v1.15.12

func (r *Gorm) Error(ctx context.Context, msg string, data ...any)

func (*Gorm) Info added in v1.15.12

func (r *Gorm) Info(ctx context.Context, msg string, data ...any)

func (*Gorm) LogMode added in v1.15.12

func (r *Gorm) LogMode(level gormlogger.LogLevel) gormlogger.Interface

func (*Gorm) Trace added in v1.15.12

func (r *Gorm) Trace(ctx context.Context, begin time.Time, fc func() (string, int64), err error)

func (*Gorm) Warn added in v1.15.12

func (r *Gorm) Warn(ctx context.Context, msg string, data ...any)

type Logger added in v1.15.12

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

func (*Logger) Errorf added in v1.15.12

func (r *Logger) Errorf(ctx context.Context, msg string, data ...any)

func (*Logger) Infof added in v1.15.12

func (r *Logger) Infof(ctx context.Context, msg string, data ...any)

func (*Logger) Level added in v1.15.12

func (r *Logger) Level(level logger.Level) logger.Logger

func (*Logger) Log added in v1.15.12

func (r *Logger) Log() log.Log

func (*Logger) Panicf added in v1.15.12

func (r *Logger) Panicf(ctx context.Context, msg string, data ...any)

func (*Logger) ToGorm added in v1.15.12

func (r *Logger) ToGorm() gormlogger.Interface

func (*Logger) Trace added in v1.15.12

func (r *Logger) Trace(ctx context.Context, begin *carbon.Carbon, sql string, rowsAffected int64, err error)

func (*Logger) Warningf added in v1.15.12

func (r *Logger) Warningf(ctx context.Context, msg string, data ...any)

type Query added in v1.15.12

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

func NewQuery added in v1.15.12

func NewQuery(ctx context.Context, readBuilder db.CommonBuilder, writeBuilder db.CommonBuilder, grammar contractsdriver.Grammar, logger logger.Logger, table string, txLogs *[]TxLog) *Query

func (*Query) Chunk added in v1.15.12

func (r *Query) Chunk(size uint64, callback func(rows []db.Row) error) error

func (*Query) Count added in v1.15.12

func (r *Query) Count() (int64, error)

func (*Query) CrossJoin added in v1.15.12

func (r *Query) CrossJoin(query string, args ...any) db.Query

func (*Query) Cursor added in v1.15.12

func (r *Query) Cursor() chan db.Row

func (*Query) Decrement added in v1.15.12

func (r *Query) Decrement(column string, value ...uint64) error

func (*Query) Delete added in v1.15.12

func (r *Query) Delete() (*db.Result, error)

func (*Query) Distinct added in v1.15.12

func (r *Query) Distinct(columns ...string) db.Query

func (*Query) DoesntExist added in v1.15.12

func (r *Query) DoesntExist() (bool, error)

func (*Query) Each added in v1.15.12

func (r *Query) Each(callback func(row db.Row) error) error

func (*Query) Exists added in v1.15.12

func (r *Query) Exists() (bool, error)

func (*Query) Find added in v1.15.12

func (r *Query) Find(dest any, conds ...any) error

func (*Query) FindOrFail added in v1.15.12

func (r *Query) FindOrFail(dest any, conds ...any) error

func (*Query) First added in v1.15.12

func (r *Query) First(dest any) error

func (*Query) FirstOr added in v1.15.12

func (r *Query) FirstOr(dest any, callback func() error) error

func (*Query) FirstOrFail added in v1.15.12

func (r *Query) FirstOrFail(dest any) error

func (*Query) Get added in v1.15.12

func (r *Query) Get(dest any) error

func (*Query) GroupBy added in v1.15.12

func (r *Query) GroupBy(column ...string) db.Query

func (*Query) Having added in v1.15.12

func (r *Query) Having(query any, args ...any) db.Query

func (*Query) InRandomOrder added in v1.15.12

func (r *Query) InRandomOrder() db.Query

func (*Query) Increment added in v1.15.12

func (r *Query) Increment(column string, value ...uint64) error

func (*Query) Insert added in v1.15.12

func (r *Query) Insert(data any) (*db.Result, error)

func (*Query) InsertGetID added in v1.15.12

func (r *Query) InsertGetID(data any) (int64, error)

func (*Query) Join added in v1.15.12

func (r *Query) Join(query string, args ...any) db.Query

func (*Query) Latest added in v1.15.12

func (r *Query) Latest(column ...string) db.Query

func (*Query) LeftJoin added in v1.15.12

func (r *Query) LeftJoin(query string, args ...any) db.Query

func (*Query) Limit added in v1.15.12

func (r *Query) Limit(limit uint64) db.Query

func (*Query) LockForUpdate added in v1.15.12

func (r *Query) LockForUpdate() db.Query

func (*Query) Offset added in v1.15.12

func (r *Query) Offset(offset uint64) db.Query

func (*Query) OrWhere added in v1.15.12

func (r *Query) OrWhere(query any, args ...any) db.Query

func (*Query) OrWhereBetween added in v1.15.12

func (r *Query) OrWhereBetween(column string, x, y any) db.Query

func (*Query) OrWhereColumn added in v1.15.12

func (r *Query) OrWhereColumn(column1 string, column2 ...string) db.Query

func (*Query) OrWhereIn added in v1.15.12

func (r *Query) OrWhereIn(column string, values []any) db.Query

func (*Query) OrWhereJsonContains added in v1.15.12

func (r *Query) OrWhereJsonContains(column string, value any) db.Query

func (*Query) OrWhereJsonContainsKey added in v1.15.12

func (r *Query) OrWhereJsonContainsKey(column string) db.Query

func (*Query) OrWhereJsonDoesntContain added in v1.15.12

func (r *Query) OrWhereJsonDoesntContain(column string, value any) db.Query

func (*Query) OrWhereJsonDoesntContainKey added in v1.15.12

func (r *Query) OrWhereJsonDoesntContainKey(column string) db.Query

func (*Query) OrWhereJsonLength added in v1.15.12

func (r *Query) OrWhereJsonLength(column string, length int) db.Query

func (*Query) OrWhereLike added in v1.15.12

func (r *Query) OrWhereLike(column string, value string) db.Query

func (*Query) OrWhereNot added in v1.15.12

func (r *Query) OrWhereNot(query any, args ...any) db.Query

func (*Query) OrWhereNotBetween added in v1.15.12

func (r *Query) OrWhereNotBetween(column string, x, y any) db.Query

func (*Query) OrWhereNotIn added in v1.15.12

func (r *Query) OrWhereNotIn(column string, values []any) db.Query

func (*Query) OrWhereNotLike added in v1.15.12

func (r *Query) OrWhereNotLike(column string, value string) db.Query

func (*Query) OrWhereNotNull added in v1.15.12

func (r *Query) OrWhereNotNull(column string) db.Query

func (*Query) OrWhereNull added in v1.15.12

func (r *Query) OrWhereNull(column string) db.Query

func (*Query) OrWhereRaw added in v1.15.12

func (r *Query) OrWhereRaw(raw string, args []any) db.Query

func (*Query) OrderBy added in v1.15.12

func (r *Query) OrderBy(column string, directions ...string) db.Query

func (*Query) OrderByDesc added in v1.15.12

func (r *Query) OrderByDesc(column string) db.Query

func (*Query) OrderByRaw added in v1.15.12

func (r *Query) OrderByRaw(raw string) db.Query

func (*Query) Paginate added in v1.15.12

func (r *Query) Paginate(page, limit int, dest any, total *int64) error

func (*Query) Pluck added in v1.15.12

func (r *Query) Pluck(column string, dest any) error

func (*Query) RightJoin added in v1.15.12

func (r *Query) RightJoin(query string, args ...any) db.Query

func (*Query) Select added in v1.15.12

func (r *Query) Select(columns ...string) db.Query

func (*Query) SharedLock added in v1.15.12

func (r *Query) SharedLock() db.Query

func (*Query) Sum added in v1.15.12

func (r *Query) Sum(column string) (int64, error)

func (*Query) ToRawSql added in v1.15.12

func (r *Query) ToRawSql() db.ToSql

func (*Query) ToSql added in v1.15.12

func (r *Query) ToSql() db.ToSql

func (*Query) Update added in v1.15.12

func (r *Query) Update(column any, value ...any) (*db.Result, error)

func (*Query) UpdateOrInsert added in v1.15.12

func (r *Query) UpdateOrInsert(attributes any, values any) (*db.Result, error)

func (*Query) Value added in v1.15.12

func (r *Query) Value(column string, dest any) error

func (*Query) When added in v1.15.12

func (r *Query) When(condition bool, callback func(query db.Query) db.Query, falseCallback ...func(query db.Query) db.Query) db.Query

func (*Query) Where added in v1.15.12

func (r *Query) Where(query any, args ...any) db.Query

func (*Query) WhereBetween added in v1.15.12

func (r *Query) WhereBetween(column string, x, y any) db.Query

func (*Query) WhereColumn added in v1.15.12

func (r *Query) WhereColumn(column1 string, column2 ...string) db.Query

func (*Query) WhereExists added in v1.15.12

func (r *Query) WhereExists(query func() db.Query) db.Query

func (*Query) WhereIn added in v1.15.12

func (r *Query) WhereIn(column string, values []any) db.Query

func (*Query) WhereJsonContains added in v1.15.12

func (r *Query) WhereJsonContains(column string, value any) db.Query

func (*Query) WhereJsonContainsKey added in v1.15.12

func (r *Query) WhereJsonContainsKey(column string) db.Query

func (*Query) WhereJsonDoesntContain added in v1.15.12

func (r *Query) WhereJsonDoesntContain(column string, value any) db.Query

func (*Query) WhereJsonDoesntContainKey added in v1.15.12

func (r *Query) WhereJsonDoesntContainKey(column string) db.Query

func (*Query) WhereJsonLength added in v1.15.12

func (r *Query) WhereJsonLength(column string, length int) db.Query

func (*Query) WhereLike added in v1.15.12

func (r *Query) WhereLike(column string, value string) db.Query

func (*Query) WhereNot added in v1.15.12

func (r *Query) WhereNot(query any, args ...any) db.Query

func (*Query) WhereNotBetween added in v1.15.12

func (r *Query) WhereNotBetween(column string, x, y any) db.Query

func (*Query) WhereNotIn added in v1.15.12

func (r *Query) WhereNotIn(column string, values []any) db.Query

func (*Query) WhereNotLike added in v1.15.12

func (r *Query) WhereNotLike(column string, value string) db.Query

func (*Query) WhereNotNull added in v1.15.12

func (r *Query) WhereNotNull(column string) db.Query

func (*Query) WhereNull added in v1.15.12

func (r *Query) WhereNull(column string) db.Query

func (*Query) WhereRaw added in v1.15.12

func (r *Query) WhereRaw(raw string, args []any) db.Query

type QueryLog added in v1.15.12

type QueryLog struct {
	Query string  `json:"query"`
	Time  float64 `json:"time"`
}

func GetQueryLog added in v1.15.12

func GetQueryLog(ctx context.Context) []QueryLog

type Row added in v1.15.12

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

func NewRow added in v1.15.12

func NewRow(row map[string]any, err error) *Row

func (*Row) Err added in v1.15.12

func (r *Row) Err() error

func (*Row) Scan added in v1.15.12

func (r *Row) Scan(value any) error

type ToSql added in v1.15.12

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

func NewToSql added in v1.15.12

func NewToSql(query *Query, raw bool) *ToSql

func (*ToSql) Count added in v1.15.12

func (r *ToSql) Count() string

func (*ToSql) Delete added in v1.15.12

func (r *ToSql) Delete() string

func (*ToSql) First added in v1.15.12

func (r *ToSql) First() string

func (*ToSql) Get added in v1.15.12

func (r *ToSql) Get() string

func (*ToSql) Insert added in v1.15.12

func (r *ToSql) Insert(data any) string

func (*ToSql) Pluck added in v1.15.12

func (r *ToSql) Pluck(column string, dest any) string

func (*ToSql) Update added in v1.15.12

func (r *ToSql) Update(column any, value ...any) string

type Tx added in v1.15.12

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

func NewTx added in v1.15.12

func NewTx(
	ctx context.Context,
	driver contractsdriver.Driver,
	logger contractslogger.Logger,
	gormDB *gorm.DB,
	txBuilder contractsdb.TxBuilder,
	txLogs *[]TxLog,
) *Tx

func (*Tx) Commit added in v1.15.12

func (r *Tx) Commit() error

func (*Tx) Delete added in v1.15.12

func (r *Tx) Delete(sql string, args ...any) (*contractsdb.Result, error)

func (*Tx) Insert added in v1.15.12

func (r *Tx) Insert(sql string, args ...any) (*contractsdb.Result, error)

func (*Tx) Rollback added in v1.15.12

func (r *Tx) Rollback() error

func (*Tx) Select added in v1.15.12

func (r *Tx) Select(dest any, sql string, args ...any) error

func (*Tx) Statement added in v1.15.12

func (r *Tx) Statement(sql string, args ...any) error

func (*Tx) Table added in v1.15.12

func (r *Tx) Table(name string) contractsdb.Query

func (*Tx) Update added in v1.15.12

func (r *Tx) Update(sql string, args ...any) (*contractsdb.Result, error)

type TxBuilder added in v1.15.12

type TxBuilder struct {
	*sqlx.Tx
	// contains filtered or unexported fields
}

func NewTxBuilder added in v1.15.12

func NewTxBuilder(gormDB *gorm.DB, driver string) (*TxBuilder, error)

func (*TxBuilder) Explain added in v1.15.12

func (r *TxBuilder) Explain(sql string, args ...any) string

type TxLog added in v1.15.12

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

Jump to

Keyboard shortcuts

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