gorm

package
v1.15.1 Latest Latest
Warning

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

Go to latest
Published: Dec 31, 2024 License: MIT Imports: 39 Imported by: 7

Documentation

Index

Constants

View Source
const Associations = clause.Associations

Variables

This section is empty.

Functions

func FileWithLineNum

func FileWithLineNum() string

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

func NewGorm added in v1.15.0

func NewGorm(config config.Config, configBuilder database.ConfigBuilder, log log.Log) (*gormio.DB, error)

func NewLogger

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

func ToCarbonHookFunc added in v1.13.0

func ToCarbonHookFunc() mapstructure.DecodeHookFunc

func ToDeletedAtHookFunc added in v1.13.0

func ToDeletedAtHookFunc() mapstructure.DecodeHookFunc

func ToTimeHookFunc added in v1.13.0

func ToTimeHookFunc() mapstructure.DecodeHookFunc

Types

type Address added in v1.13.5

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

type Author added in v1.13.5

type Author struct {
	Model
	BookID uint
	Name   string
}

type Book added in v1.13.5

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

type Box added in v1.13.5

type Box struct {
	Model
	SoftDeletes
	Name string
}

func (*Box) Connection added in v1.13.5

func (p *Box) Connection() string

type Builder added in v1.15.0

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

func (*Builder) Build added in v1.15.0

func (r *Builder) Build() (*gormio.DB, error)

type Conditions added in v1.13.5

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

type CursorImpl added in v1.13.0

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

func (*CursorImpl) Scan added in v1.13.0

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

type Event added in v1.11.0

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

func NewEvent added in v1.11.0

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

func (*Event) Context added in v1.11.0

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

func (*Event) GetAttribute added in v1.11.0

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

func (*Event) GetOriginal added in v1.11.0

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

func (*Event) IsClean added in v1.11.0

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

func (*Event) IsDirty added in v1.11.0

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

func (*Event) Query added in v1.11.0

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

func (*Event) SetAttribute added in v1.11.0

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

type Having added in v1.13.5

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

type House added in v1.13.5

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

func (*House) Factory added in v1.13.5

func (h *House) Factory() string

type Join added in v1.13.5

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

type Logger

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

func (*Logger) Error

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

Error print error messages

func (*Logger) Info

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

Info print info

func (*Logger) LogMode

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

LogMode log mode

func (*Logger) Trace

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

Trace print sql message

func (*Logger) Warn

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

Warn print warn messages

type MockMysql added in v1.15.0

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

func NewMockMysql added in v1.15.0

func NewMockMysql(mockConfig *mocksconfig.Config, connection, database, username, password string, port int) *MockMysql

func (*MockMysql) Common added in v1.15.0

func (r *MockMysql) Common()

func (*MockMysql) ReadWrite added in v1.15.0

func (r *MockMysql) ReadWrite(readDatabaseConfig testing.DatabaseConfig)

func (*MockMysql) WithPrefixAndSingular added in v1.15.0

func (r *MockMysql) WithPrefixAndSingular()

func (*MockMysql) WithSchema added in v1.15.0

func (r *MockMysql) WithSchema(schema string)

type MockPostgres added in v1.15.0

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

func NewMockPostgres added in v1.15.0

func NewMockPostgres(mockConfig *mocksconfig.Config, connection, database, username, password string, port int) *MockPostgres

func (*MockPostgres) Common added in v1.15.0

func (r *MockPostgres) Common()

func (*MockPostgres) ReadWrite added in v1.15.0

func (r *MockPostgres) ReadWrite(readDatabaseConfig testing.DatabaseConfig)

func (*MockPostgres) WithPrefixAndSingular added in v1.15.0

func (r *MockPostgres) WithPrefixAndSingular()

func (*MockPostgres) WithSchema added in v1.15.0

func (r *MockPostgres) WithSchema(schema string)

type MockSqlite added in v1.15.0

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

func NewMockSqlite added in v1.15.0

func NewMockSqlite(mockConfig *mocksconfig.Config, connection, database string) *MockSqlite

func (*MockSqlite) Common added in v1.15.0

func (r *MockSqlite) Common()

func (*MockSqlite) ReadWrite added in v1.15.0

func (r *MockSqlite) ReadWrite(readDatabaseConfig testing.DatabaseConfig)

func (*MockSqlite) WithPrefixAndSingular added in v1.15.0

func (r *MockSqlite) WithPrefixAndSingular()

func (*MockSqlite) WithSchema added in v1.15.0

func (r *MockSqlite) WithSchema(schema string)

type MockSqlserver added in v1.15.0

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

func NewMockSqlserver added in v1.15.0

func NewMockSqlserver(mockConfig *mocksconfig.Config, connection, database, username, password string, port int) *MockSqlserver

func (*MockSqlserver) Common added in v1.15.0

func (r *MockSqlserver) Common()

func (*MockSqlserver) ReadWrite added in v1.15.0

func (r *MockSqlserver) ReadWrite(readDatabaseConfig testing.DatabaseConfig)

func (*MockSqlserver) WithPrefixAndSingular added in v1.15.0

func (r *MockSqlserver) WithPrefixAndSingular()

func (*MockSqlserver) WithSchema added in v1.15.0

func (r *MockSqlserver) WithSchema(schema string)

type Model added in v1.15.0

type Model struct {
	ID uint `gorm:"primaryKey" json:"id"`
	Timestamps
}

type People added in v1.13.5

type People struct {
	Model
	SoftDeletes
	Body string
}

func (*People) Connection added in v1.13.5

func (p *People) Connection() string

type Person added in v1.13.5

type Person struct {
	Model
	SoftDeletes
	Name string
}

func (*Person) Connection added in v1.13.5

func (p *Person) Connection() string

type Phone added in v1.13.5

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

type Product added in v1.13.5

type Product struct {
	Model
	SoftDeletes
	Name string
}

func (*Product) Connection added in v1.13.5

func (p *Product) Connection() string

type Query

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

func BuildQuery added in v1.15.0

func BuildQuery(ctx context.Context, config config.Config, connection string, log log.Log, modelToObserver []contractsorm.ModelToObserver) (*Query, error)

func NewQuery

func NewQuery(
	ctx context.Context,
	config config.Config,
	fullConfig contractsdatabase.FullConfig,
	db *gormio.DB,
	log log.Log,
	modelToObserver []contractsorm.ModelToObserver,
	conditions *Conditions,
) *Query

func (*Query) Association

func (r *Query) Association(association string) contractsorm.Association

func (*Query) Begin added in v1.10.0

func (r *Query) Begin() (contractsorm.Query, error)

func (*Query) Commit added in v1.15.0

func (r *Query) Commit() error

func (*Query) Count

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

func (*Query) Create

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

func (*Query) Cursor added in v1.15.0

func (r *Query) Cursor() (chan contractsorm.Cursor, error)

func (*Query) DB added in v1.15.0

func (r *Query) DB() (*sql.DB, error)

func (*Query) Delete

func (r *Query) Delete(dest ...any) (*contractsorm.Result, error)

func (*Query) Distinct

func (r *Query) Distinct(args ...any) contractsorm.Query

func (*Query) Driver

func (r *Query) Driver() contractsdatabase.Driver

func (*Query) Exec

func (r *Query) Exec(sql string, values ...any) (*contractsorm.Result, error)

func (*Query) Exists added in v1.15.0

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

func (*Query) Find

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

func (*Query) FindOrFail added in v1.11.0

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

func (*Query) First

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

func (*Query) FirstOr added in v1.10.0

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

func (*Query) FirstOrCreate

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

func (*Query) FirstOrFail added in v1.10.0

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

func (*Query) FirstOrNew added in v1.10.0

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

func (*Query) ForceDelete

func (r *Query) ForceDelete(dest ...any) (*contractsorm.Result, error)

func (*Query) Get

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

func (*Query) Group

func (r *Query) Group(name string) contractsorm.Query

func (*Query) Having

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

func (*Query) InRandomOrder added in v1.15.0

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

func (*Query) InTransaction added in v1.15.0

func (r *Query) InTransaction() bool

func (*Query) Instance added in v1.10.0

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

func (*Query) Join

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

func (*Query) Limit

func (r *Query) Limit(limit int) contractsorm.Query

func (*Query) Load

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

func (*Query) LoadMissing

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

func (*Query) LockForUpdate added in v1.11.0

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

func (*Query) Model

func (r *Query) Model(value any) contractsorm.Query

func (*Query) Observe added in v1.15.0

func (r *Query) Observe(model any, observer contractsorm.Observer)

func (*Query) Offset

func (r *Query) Offset(offset int) contractsorm.Query

func (*Query) Omit

func (r *Query) Omit(columns ...string) contractsorm.Query

func (*Query) OrWhere

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

func (*Query) OrWhereBetween added in v1.15.0

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

func (*Query) OrWhereIn added in v1.15.0

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

func (*Query) OrWhereNotBetween added in v1.15.0

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

func (*Query) OrWhereNotIn added in v1.15.0

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

func (*Query) OrWhereNull added in v1.15.0

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

func (*Query) Order

func (r *Query) Order(value any) contractsorm.Query

func (*Query) OrderBy added in v1.15.0

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

func (*Query) OrderByDesc added in v1.15.0

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

func (*Query) Paginate added in v1.9.0

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

func (*Query) Pluck

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

func (*Query) Raw

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

func (*Query) Restore added in v1.15.0

func (r *Query) Restore(model ...any) (*contractsorm.Result, error)

func (*Query) Rollback added in v1.15.0

func (r *Query) Rollback() error

func (*Query) Save

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

func (*Query) SaveQuietly added in v1.11.0

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

func (*Query) Scan

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

func (*Query) Scopes

func (r *Query) Scopes(funcs ...func(contractsorm.Query) contractsorm.Query) contractsorm.Query

func (*Query) Select

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

func (*Query) SetContext added in v1.15.0

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

func (*Query) SharedLock added in v1.11.0

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

func (*Query) Sum added in v1.15.0

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

func (*Query) Table

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

func (*Query) ToRawSql added in v1.15.0

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

func (*Query) ToSql added in v1.15.0

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

func (*Query) Update

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

func (*Query) UpdateOrCreate added in v1.10.0

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

func (*Query) Where

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

func (*Query) WhereBetween added in v1.15.0

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

func (*Query) WhereIn added in v1.15.0

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

func (*Query) WhereNotBetween added in v1.15.0

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

func (*Query) WhereNotIn added in v1.15.0

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

func (*Query) WhereNotNull added in v1.15.0

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

func (*Query) WhereNull added in v1.15.0

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

func (*Query) With

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

func (*Query) WithTrashed

func (r *Query) WithTrashed() contractsorm.Query

func (*Query) WithoutEvents added in v1.11.0

func (r *Query) WithoutEvents() contractsorm.Query

type Review added in v1.13.5

type Review struct {
	Model
	SoftDeletes
	Body string
}

func (*Review) Connection added in v1.13.5

func (r *Review) Connection() string

type Role added in v1.13.5

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

type Schema added in v1.15.0

type Schema struct {
	Model
	Name string
}

func (*Schema) TableName added in v1.15.0

func (r *Schema) TableName() string

type Select added in v1.13.5

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

type SoftDeletes added in v1.15.0

type SoftDeletes struct {
	DeletedAt gorm.DeletedAt `gorm:"column:deleted_at" json:"deleted_at"`
}

type Table added in v1.12.0

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

type TestQueries added in v1.15.0

type TestQueries struct {
}

func NewTestQueries added in v1.15.0

func NewTestQueries() *TestQueries

func (*TestQueries) Queries added in v1.15.0

func (r *TestQueries) Queries() map[contractsdatabase.Driver]*TestQuery

func (*TestQueries) QueriesOfReadWrite added in v1.15.0

func (r *TestQueries) QueriesOfReadWrite() map[contractsdatabase.Driver]map[string]*TestQuery

func (*TestQueries) QueriesWithPrefixAndSingular added in v1.15.0

func (r *TestQueries) QueriesWithPrefixAndSingular() map[contractsdatabase.Driver]*TestQuery

func (*TestQueries) QueryOfAdditional added in v1.15.0

func (r *TestQueries) QueryOfAdditional() *TestQuery

type TestQuery added in v1.15.0

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

func NewTestQuery added in v1.15.0

func NewTestQuery(docker testing.DatabaseDriver) *TestQuery

func NewTestQueryWithPrefixAndSingular added in v1.15.0

func NewTestQueryWithPrefixAndSingular(docker testing.DatabaseDriver) *TestQuery

func NewTestQueryWithSchema added in v1.15.0

func NewTestQueryWithSchema(docker testing.DatabaseDriver, schema string) *TestQuery

func (*TestQuery) CreateTable added in v1.15.0

func (r *TestQuery) CreateTable(testTables ...TestTable)

func (*TestQuery) Docker added in v1.15.0

func (r *TestQuery) Docker() testing.DatabaseDriver

func (*TestQuery) MockConfig added in v1.15.0

func (r *TestQuery) MockConfig() *mocksconfig.Config

func (*TestQuery) Query added in v1.15.0

func (r *TestQuery) Query() orm.Query

func (*TestQuery) QueryOfReadWrite added in v1.15.0

func (r *TestQuery) QueryOfReadWrite(readDatabaseConfig testing.DatabaseConfig) (orm.Query, error)

type TestTable added in v1.15.0

type TestTable int
const (
	TestTableAddresses TestTable = iota
	TestTableAuthors
	TestTableBooks
	TestTableHouses
	TestTablePeoples
	TestTablePhones
	TestTableProducts
	TestTableReviews
	TestTableRoles
	TestTableRoleUser
	TestTableUsers
	TestTableGoravelUser
	TestTableSchema
)

type Timestamps added in v1.15.0

type Timestamps struct {
	CreatedAt carbon.DateTime `gorm:"autoCreateTime;column:created_at" json:"created_at"`
	UpdatedAt carbon.DateTime `gorm:"autoUpdateTime;column:updated_at" json:"updated_at"`
}

type ToSql added in v1.13.10

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

func NewToSql added in v1.13.10

func NewToSql(query *Query, log log.Log, raw bool) *ToSql

func (*ToSql) Count added in v1.13.10

func (r *ToSql) Count() string

func (*ToSql) Create added in v1.13.10

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

func (*ToSql) Delete added in v1.13.10

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

func (*ToSql) Find added in v1.13.10

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

func (*ToSql) First added in v1.13.10

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

func (*ToSql) ForceDelete added in v1.15.0

func (r *ToSql) ForceDelete(value ...any) string

func (*ToSql) Get added in v1.13.10

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

func (*ToSql) Pluck added in v1.13.10

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

func (*ToSql) Save added in v1.13.10

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

func (*ToSql) Sum added in v1.13.10

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

func (*ToSql) Update added in v1.13.10

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

type User added in v1.13.5

type User struct {
	Model
	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 added in v1.13.5

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

type Where added in v1.13.5

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

type With added in v1.13.5

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