gorm

package
v1.15.0 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2024 License: MIT Imports: 38 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrorMissingWhereClause = errors.New("WHERE conditions required")
)

Functions

func FileWithLineNum

func FileWithLineNum() string

FileWithLineNum return the file name and line number of the current file

func NewLogger

func NewLogger(writer logger.Writer, config logger.Config) logger.Interface

func ToCarbonHookFunc

func ToCarbonHookFunc() mapstructure.DecodeHookFunc

func ToDeletedAtHookFunc

func ToDeletedAtHookFunc() mapstructure.DecodeHookFunc

func ToTimeHookFunc

func ToTimeHookFunc() mapstructure.DecodeHookFunc

Types

type Address

type Address struct {
	orm.Model
	UserID   uint
	Name     string
	Province string
	User     *User
}

type Author

type Author struct {
	orm.Model
	BookID uint
	Name   string
}

type Book

type Book struct {
	orm.Model
	UserID uint
	Name   string
	User   *User
	Author *Author
}

type Box

type Box struct {
	orm.Model
	orm.SoftDeletes
	Name string
}

func (*Box) Connection

func (p *Box) Connection() string

type Conditions

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

type CursorImpl

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

func (*CursorImpl) Scan

func (c *CursorImpl) Scan(value any) error

type Dialector

type Dialector interface {
	Make(configs []databasecontract.Config) ([]gorm.Dialector, error)
}

type DialectorImpl

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

func NewDialectorImpl

func NewDialectorImpl(config config.Config, connection string) *DialectorImpl

func (*DialectorImpl) Make

func (d *DialectorImpl) Make(configs []databasecontract.Config) ([]gorm.Dialector, error)

type Event

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

func NewEvent

func NewEvent(query *QueryImpl, model, dest any) *Event

func (*Event) ColumnNames

func (e *Event) ColumnNames() map[string]string

func (*Event) Context

func (e *Event) Context() context.Context

func (*Event) DestOfMap

func (e *Event) DestOfMap() map[string]any

func (*Event) GetAttribute

func (e *Event) GetAttribute(key string) any

func (*Event) GetOriginal

func (e *Event) GetOriginal(key string, def ...any) any

func (*Event) IsClean

func (e *Event) IsClean(fields ...string) bool

func (*Event) IsDirty

func (e *Event) IsDirty(columns ...string) bool

func (*Event) ModelOfMap

func (e *Event) ModelOfMap() map[string]any

func (*Event) Query

func (e *Event) Query() orm.Query

func (*Event) SetAttribute

func (e *Event) SetAttribute(key string, value any)

type GormImpl

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

func InitializeGorm

func InitializeGorm(config2 config.Config, connection string) *GormImpl

func NewGormImpl

func NewGormImpl(config config.Config, connection string, dbConfig db.Config, dialector Dialector) *GormImpl

func (*GormImpl) Make

func (r *GormImpl) Make() (*gormio.DB, error)

type Having

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

type House

type House struct {
	orm.Model
	Name          string
	HouseableID   uint
	HouseableType string
}

func (*House) Factory

func (h *House) Factory() string

type Join

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

type Logger

type Logger struct {
	logger.Writer
	logger.Config
	// contains filtered or unexported fields
}

func (Logger) Error

func (l Logger) Error(ctx context.Context, msg string, data ...any)

Error print error messages

func (Logger) Info

func (l Logger) Info(ctx context.Context, msg string, data ...any)

Info print info

func (*Logger) LogMode

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

LogMode log mode

func (Logger) Trace

func (l Logger) Trace(ctx context.Context, begin time.Time, fc func() (string, int64), err error)

Trace print sql message

func (Logger) Warn

func (l Logger) Warn(ctx context.Context, msg string, data ...any)

Warn print warn messages

type MysqlDocker

type MysqlDocker struct {
	MockConfig *mocksconfig.Config
	Port       int
	// contains filtered or unexported fields
}

func NewMysqlDocker

func NewMysqlDocker(driver testing.DatabaseDriver) *MysqlDocker

func (*MysqlDocker) MockReadWrite

func (r *MysqlDocker) MockReadWrite(readPort, writePort int)

func (*MysqlDocker) New

func (r *MysqlDocker) New() (orm.Query, error)

func (*MysqlDocker) NewWithPrefixAndSingular

func (r *MysqlDocker) NewWithPrefixAndSingular() (orm.Query, error)

func (*MysqlDocker) Query

func (r *MysqlDocker) Query(createTable bool) (orm.Query, error)

func (*MysqlDocker) QueryWithPrefixAndSingular

func (r *MysqlDocker) QueryWithPrefixAndSingular() (orm.Query, error)

type People

type People struct {
	orm.Model
	orm.SoftDeletes
	Body string
}

func (*People) Connection

func (p *People) Connection() string

type Person

type Person struct {
	orm.Model
	orm.SoftDeletes
	Name string
}

func (*Person) Connection

func (p *Person) Connection() string

type Phone

type Phone struct {
	orm.Model
	Name          string
	PhoneableID   uint
	PhoneableType string
}

type PostgresqlDocker

type PostgresqlDocker struct {
	MockConfig *mocksconfig.Config
	Port       int
	// contains filtered or unexported fields
}

func NewPostgresDocker

func NewPostgresDocker(driver testing.DatabaseDriver) *PostgresqlDocker

func (*PostgresqlDocker) MockReadWrite

func (r *PostgresqlDocker) MockReadWrite(readPort, writePort int)

func (*PostgresqlDocker) New

func (r *PostgresqlDocker) New() (orm.Query, error)

func (*PostgresqlDocker) NewWithPrefixAndSingular

func (r *PostgresqlDocker) NewWithPrefixAndSingular() (orm.Query, error)

func (*PostgresqlDocker) Query

func (r *PostgresqlDocker) Query(createTable bool) (orm.Query, error)

func (*PostgresqlDocker) QueryWithPrefixAndSingular

func (r *PostgresqlDocker) QueryWithPrefixAndSingular() (orm.Query, error)

type Product

type Product struct {
	orm.Model
	orm.SoftDeletes
	Name string
}

func (*Product) Connection

func (p *Product) Connection() string

type QueryImpl

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

func BuildQueryImpl

func BuildQueryImpl(ctx context.Context, config config.Config, connection string, gorm gorm.Gorm) (*QueryImpl, error)

func InitializeQuery

func InitializeQuery(ctx context.Context, config2 config.Config, connection string) (*QueryImpl, error)

func NewQueryImpl

func NewQueryImpl(ctx context.Context, config config.Config, connection string, db *gormio.DB, conditions *Conditions) *QueryImpl

func (*QueryImpl) Association

func (r *QueryImpl) Association(association string) ormcontract.Association

func (*QueryImpl) Begin

func (r *QueryImpl) Begin() (ormcontract.Transaction, error)

func (*QueryImpl) Count

func (r *QueryImpl) Count(count *int64) error

func (*QueryImpl) Create

func (r *QueryImpl) Create(value any) error

func (*QueryImpl) Cursor

func (r *QueryImpl) Cursor() (chan ormcontract.Cursor, error)

func (*QueryImpl) Delete

func (r *QueryImpl) Delete(dest any, conds ...any) (*ormcontract.Result, error)

func (*QueryImpl) Distinct

func (r *QueryImpl) Distinct(args ...any) ormcontract.Query

func (*QueryImpl) Driver

func (r *QueryImpl) Driver() ormcontract.Driver

func (*QueryImpl) Exec

func (r *QueryImpl) Exec(sql string, values ...any) (*ormcontract.Result, error)

func (*QueryImpl) Exists

func (r *QueryImpl) Exists(exists *bool) error

func (*QueryImpl) Find

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

func (*QueryImpl) FindOrFail

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

func (*QueryImpl) First

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

func (*QueryImpl) FirstOr

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

func (*QueryImpl) FirstOrCreate

func (r *QueryImpl) FirstOrCreate(dest any, conds ...any) error

func (*QueryImpl) FirstOrFail

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

func (*QueryImpl) FirstOrNew

func (r *QueryImpl) FirstOrNew(dest any, attributes any, values ...any) error

func (*QueryImpl) ForceDelete

func (r *QueryImpl) ForceDelete(value any, conds ...any) (*ormcontract.Result, error)

func (*QueryImpl) Get

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

func (*QueryImpl) Group

func (r *QueryImpl) Group(name string) ormcontract.Query

func (*QueryImpl) Having

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

func (*QueryImpl) InRandomOrder

func (r *QueryImpl) InRandomOrder() ormcontract.Query

func (*QueryImpl) Instance

func (r *QueryImpl) Instance() *gormio.DB

func (*QueryImpl) Join

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

func (*QueryImpl) Limit

func (r *QueryImpl) Limit(limit int) ormcontract.Query

func (*QueryImpl) Load

func (r *QueryImpl) Load(model any, relation string, args ...any) error

func (*QueryImpl) LoadMissing

func (r *QueryImpl) LoadMissing(model any, relation string, args ...any) error

func (*QueryImpl) LockForUpdate

func (r *QueryImpl) LockForUpdate() ormcontract.Query

func (*QueryImpl) Model

func (r *QueryImpl) Model(value any) ormcontract.Query

func (*QueryImpl) Offset

func (r *QueryImpl) Offset(offset int) ormcontract.Query

func (*QueryImpl) Omit

func (r *QueryImpl) Omit(columns ...string) ormcontract.Query

func (*QueryImpl) OrWhere

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

func (*QueryImpl) OrWhereBetween

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

func (*QueryImpl) OrWhereIn

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

func (*QueryImpl) OrWhereNotBetween

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

func (*QueryImpl) OrWhereNotIn

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

func (*QueryImpl) OrWhereNull

func (r *QueryImpl) OrWhereNull(column string) ormcontract.Query

func (*QueryImpl) Order

func (r *QueryImpl) Order(value any) ormcontract.Query

func (*QueryImpl) OrderBy

func (r *QueryImpl) OrderBy(column string, direction ...string) ormcontract.Query

func (*QueryImpl) OrderByDesc

func (r *QueryImpl) OrderByDesc(column string) ormcontract.Query

func (*QueryImpl) Paginate

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

func (*QueryImpl) Pluck

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

func (*QueryImpl) Raw

func (r *QueryImpl) Raw(sql string, values ...any) ormcontract.Query

func (*QueryImpl) Save

func (r *QueryImpl) Save(value any) error

func (*QueryImpl) SaveQuietly

func (r *QueryImpl) SaveQuietly(value any) error

func (*QueryImpl) Scan

func (r *QueryImpl) Scan(dest any) error

func (*QueryImpl) Scopes

func (r *QueryImpl) Scopes(funcs ...func(ormcontract.Query) ormcontract.Query) ormcontract.Query

func (*QueryImpl) Select

func (r *QueryImpl) Select(query any, args ...any) ormcontract.Query

func (*QueryImpl) SetContext

func (r *QueryImpl) SetContext(ctx context.Context)

func (*QueryImpl) SharedLock

func (r *QueryImpl) SharedLock() ormcontract.Query

func (*QueryImpl) Sum

func (r *QueryImpl) Sum(column string, dest any) error

func (*QueryImpl) Table

func (r *QueryImpl) Table(name string, args ...any) ormcontract.Query

func (*QueryImpl) ToRawSql

func (r *QueryImpl) ToRawSql() ormcontract.ToSql

func (*QueryImpl) ToSql

func (r *QueryImpl) ToSql() ormcontract.ToSql

func (*QueryImpl) Update

func (r *QueryImpl) Update(column any, value ...any) (*ormcontract.Result, error)

func (*QueryImpl) UpdateOrCreate

func (r *QueryImpl) UpdateOrCreate(dest any, attributes any, values any) error

func (*QueryImpl) Where

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

func (*QueryImpl) WhereBetween

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

func (*QueryImpl) WhereIn

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

func (*QueryImpl) WhereNotBetween

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

func (*QueryImpl) WhereNotIn

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

func (*QueryImpl) WhereNotNull

func (r *QueryImpl) WhereNotNull(column string) ormcontract.Query

func (*QueryImpl) WhereNull

func (r *QueryImpl) WhereNull(column string) ormcontract.Query

func (*QueryImpl) With

func (r *QueryImpl) With(query string, args ...any) ormcontract.Query

func (*QueryImpl) WithTrashed

func (r *QueryImpl) WithTrashed() ormcontract.Query

func (*QueryImpl) WithoutEvents

func (r *QueryImpl) WithoutEvents() ormcontract.Query

type Review

type Review struct {
	orm.Model
	orm.SoftDeletes
	Body string
}

func (*Review) Connection

func (r *Review) Connection() string

type Role

type Role struct {
	orm.Model
	Name  string
	Users []*User `gorm:"many2many:role_user"`
}

type Select

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

type SqliteDocker

type SqliteDocker struct {
	MockConfig *mocksconfig.Config
	// contains filtered or unexported fields
}

func NewSqliteDocker

func NewSqliteDocker(driver testing.DatabaseDriver) *SqliteDocker

func (*SqliteDocker) MockReadWrite

func (r *SqliteDocker) MockReadWrite(readDatabase string)

func (*SqliteDocker) New

func (r *SqliteDocker) New() (orm.Query, error)

func (*SqliteDocker) NewWithPrefixAndSingular

func (r *SqliteDocker) NewWithPrefixAndSingular() (orm.Query, error)

func (*SqliteDocker) Query

func (r *SqliteDocker) Query(createTable bool) (orm.Query, error)

func (*SqliteDocker) QueryWithPrefixAndSingular

func (r *SqliteDocker) QueryWithPrefixAndSingular() (orm.Query, error)

type SqlserverDocker

type SqlserverDocker struct {
	MockConfig *mocksconfig.Config
	Port       int
	// contains filtered or unexported fields
}

func NewSqlserverDocker

func NewSqlserverDocker(driver testing.DatabaseDriver) *SqlserverDocker

func (*SqlserverDocker) MockReadWrite

func (r *SqlserverDocker) MockReadWrite(readPort, writePort int)

func (*SqlserverDocker) New

func (r *SqlserverDocker) New() (orm.Query, error)

func (*SqlserverDocker) NewWithPrefixAndSingular

func (r *SqlserverDocker) NewWithPrefixAndSingular() (orm.Query, error)

func (*SqlserverDocker) Query

func (r *SqlserverDocker) Query(createTable bool) (orm.Query, error)

func (*SqlserverDocker) QueryWithPrefixAndSingular

func (r *SqlserverDocker) QueryWithPrefixAndSingular() (orm.Query, error)

type Table

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

type Tables

type Tables struct {
}

func (Tables) Create

func (r Tables) Create(driver orm.Driver, db orm.Query) error

func (Tables) CreateWithPrefixAndSingular

func (r Tables) CreateWithPrefixAndSingular(driver orm.Driver, db orm.Query) error

type ToSql

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

func NewToSql

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

func (*ToSql) Count

func (r *ToSql) Count() string

func (*ToSql) Create

func (r *ToSql) Create(value any) string

func (*ToSql) Delete

func (r *ToSql) Delete(value any, conds ...any) string

func (*ToSql) Find

func (r *ToSql) Find(dest any, conds ...any) string

func (*ToSql) First

func (r *ToSql) First(dest any) string

func (*ToSql) Get

func (r *ToSql) Get(dest any) string

func (*ToSql) Pluck

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

func (*ToSql) Save

func (r *ToSql) Save(value any) string

func (*ToSql) Sum

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

func (*ToSql) Update

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

type Transaction

type Transaction struct {
	orm.Query
	// contains filtered or unexported fields
}

func NewTransaction

func NewTransaction(tx *gorm.DB, config config.Config, connection string) *Transaction

func (*Transaction) Commit

func (r *Transaction) Commit() error

func (*Transaction) Rollback

func (r *Transaction) Rollback() error

type User

type User struct {
	orm.Model
	orm.SoftDeletes
	Name    string
	Bio     *string
	Avatar  string
	Address *Address
	Books   []*Book
	House   *House   `gorm:"polymorphic:Houseable"`
	Phones  []*Phone `gorm:"polymorphic:Phoneable"`
	Roles   []*Role  `gorm:"many2many:role_user"`
	// contains filtered or unexported fields
}

func (*User) DispatchesEvents

func (u *User) DispatchesEvents() map[ormcontract.EventType]func(ormcontract.Event) error

type Where

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

type With

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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