Documentation
¶
Index ¶
- Variables
- func AllRows(db *gorm.DB, doc interface{}) (*sql.Rows, error)
- func ConnectDB(dialector gorm.Dialector) (*gorm.DB, error)
- func CountWithFilter(db *gorm.DB, filter *Filter, doc interface{}) int64
- func Create(db *gorm.DB, doc interface{}) *gorm.DB
- func Delete(db *gorm.DB, doc interface{}) error
- func DeleteAll(db *gorm.DB, docs interface{}) error
- func DeleteAllByFields(db *gorm.DB, fields db.Fields, docs interface{}) error
- func DeleteByField(db *gorm.DB, field string, value interface{}, doc interface{}) error
- func DeleteById(db *gorm.DB, id interface{}, doc interface{}) error
- func Exists(g *gorm.DB, filter *Filter, obj interface{}) (bool, error)
- func FindAll(db *gorm.DB, docs interface{}, dest ...interface{}) error
- func FindAllByFields(db *gorm.DB, fields db.Fields, docs interface{}) error
- func FindAllInterval(db *gorm.DB, name string, interval *Interval, docs interface{}) error
- func FindByField(db *gorm.DB, fieldName string, fieldValue interface{}, doc interface{}, ...) (bool, error)
- func FindByFields(db *gorm.DB, fields db.Fields, doc interface{}, dest ...interface{}) (bool, error)
- func FindForShare(db *gorm.DB, fields db.Fields, doc interface{}) (bool, error)
- func FindForUpdate(db *gorm.DB, fields db.Fields, doc interface{}) (bool, error)
- func FindNotIn(db *gorm.DB, fields db.Fields, docs interface{}) error
- func FindSelectNotIn(db *gorm.DB, fields db.Fields, docModel interface{}, docs interface{}) error
- func FindWithFilter(db *gorm.DB, filter *Filter, paginator *Paginator, docs interface{}, ...) (int64, error)
- func IsIndexField(field *schema.Field) bool
- func PostgresCheckDuplicateKeyError(provider string, result *gorm.DB) (bool, error)
- func PostgresDbCreator(provider string, db *gorm.DB, dbName string) error
- func PostgresDsnBuilder(config *db.DBConfig) (string, error)
- func PostgresOpener(provider string, dsn string) (gorm.Dialector, error)
- func PostgresPartitionedMonthAutoMigrate(ctx logger.WithLogger, db *gorm.DB, models ...interface{}) error
- func PostgresPartitionedMonthDelete(provider string, ctx logger.WithLogger, db *gorm.DB, table string, ...) error
- func PostgresPartitionedMonthDetach(provider string, ctx logger.WithLogger, db *gorm.DB, table string, ...) error
- func PostgresPartitionedMonthMigrator(provider string, ctx logger.WithLogger, db *gorm.DB, models ...interface{}) error
- func PostgresTableExists(db *gorm.DB, tableName string) (bool, error)
- func PrepareJoin(f *FilterManager, g *gorm.DB, constructor *JoinQueryConstructor) (*gorm.DB, error)
- func RowsByFields(db *gorm.DB, fields db.Fields, doc interface{}) (*sql.Rows, error)
- func RowsWithFilter(db *gorm.DB, filter *Filter, paginator *Paginator, docs interface{}) (*sql.Rows, error)
- func SetFilter(g *gorm.DB, filter *Filter, paginator *Paginator, docs interface{}, ...) *gorm.DB
- func Sum(g *gorm.DB, paginator *Paginator, groupFields []string, sumFields []string, ...) (int64, error)
- func SumWithFilter(db *gorm.DB, filter *Filter, fields map[string]string, doc interface{}, ...) error
- func Transaction(db *gorm.DB, handler TransactionHandler) error
- func UpdateField(db *gorm.DB, field string, doc interface{}) error
- func UpdateFieldMulti(db *gorm.DB, fields db.Fields, doc interface{}, field string, ...) error
- func UpdateFields(db *gorm.DB, fields db.Fields, doc interface{}) error
- func UpdateFieldsAll(db *gorm.DB, doc interface{}, newFields db.Fields) error
- func UpdateFielsdMulti(db *gorm.DB, filter db.Fields, doc interface{}, newFields db.Fields) error
- func UpdateWithFilter(db *gorm.DB, filter *db.Filter, doc interface{}, fields db.Fields) error
- type DbConnector
- type DbState
- type FieldDescriptor
- type Filter
- type FilterManager
- func (f *FilterManager) ParseFilter(query *db.Query, parserName string) (*db.Filter, error)
- func (f *FilterManager) ParseFilterDirect(query *db.Query, model interface{}, parserName string, ...) (*db.Filter, error)
- func (f *FilterManager) PrepareFilterParser(model interface{}, name string, validator ...*db.FilterValidator) (db.FilterParser, error)
- type FilterParser
- type GormCursor
- type GormDB
- func (g *GormDB) AllRows(ctx logger.WithLogger, obj interface{}) (db.Cursor, error)
- func (g *GormDB) AutoMigrate(ctx logger.WithLogger, models []interface{}) error
- func (g *GormDB) Clone() db.DB
- func (g *GormDB) Close()
- func (g *GormDB) Config() interface{}
- func (g *GormDB) Connect(ctx logger.WithLogger) error
- func (g *GormDB) Create(ctx logger.WithLogger, obj interface{}) error
- func (g *GormDB) CreateDatabase(ctx logger.WithLogger, dbName string) error
- func (g *GormDB) CreateDup(ctx logger.WithLogger, obj interface{}, ignoreConflict ...bool) (bool, error)
- func (g *GormDB) Delete(ctx logger.WithLogger, obj common.Object) error
- func (g *GormDB) DeleteByField(ctx logger.WithLogger, field string, value interface{}, model interface{}) error
- func (g *GormDB) DeleteByFields(ctx logger.WithLogger, fields db.Fields, obj interface{}) error
- func (g *GormDB) EnableDebug(value bool)
- func (g *GormDB) EnableVerboseErrors(value bool)
- func (g *GormDB) Exists(ctx logger.WithLogger, filter *Filter, obj interface{}) (bool, error)
- func (g *GormDB) FindByField(ctx logger.WithLogger, field string, value interface{}, obj interface{}, ...) (bool, error)
- func (g *GormDB) FindByFields(ctx logger.WithLogger, fields db.Fields, obj interface{}, dest ...interface{}) (bool, error)
- func (g *GormDB) FindForShare(ctx logger.WithLogger, fields db.Fields, obj interface{}) (bool, error)
- func (g *GormDB) FindForUpdate(ctx logger.WithLogger, fields db.Fields, obj interface{}) (bool, error)
- func (g *GormDB) FindWithFilter(ctx logger.WithLogger, filter *Filter, obj interface{}, dest ...interface{}) (int64, error)
- func (g *GormDB) ID() string
- func (g *GormDB) Init(ctx logger.WithLogger, cfg config.Config, vld validator.Validator, ...) error
- func (g *GormDB) InitWithConfig(ctx logger.WithLogger, vld validator.Validator, cfg *db.DBConfig) error
- func (g *GormDB) Join(ctx logger.WithLogger, joinConfig *db.JoinQueryConfig, filter *Filter, ...) (int64, error)
- func (g *GormDB) Joiner() db.Joiner
- func (g *GormDB) MakeExpression(expr string, args ...interface{}) interface{}
- func (g *GormDB) MigrateDropIndex(ctx logger.WithLogger, model interface{}, indexName string) error
- func (g *GormDB) NativeHandler() interface{}
- func (g *GormDB) ParseFilter(query *db.Query, parserName string) (*db.Filter, error)
- func (g *GormDB) ParseFilterDirect(query *db.Query, model interface{}, parserName string, ...) (*db.Filter, error)
- func (g *GormDB) PartitionedMonthAutoMigrate(ctx logger.WithLogger, models []interface{}) error
- func (g *GormDB) PartitionedMonthsDelete(ctx logger.WithLogger, table string, months []utils.Month) error
- func (g *GormDB) PartitionedMonthsDetach(ctx logger.WithLogger, table string, months []utils.Month) error
- func (g *GormDB) PrepareFilterParser(model interface{}, name string, validator ...*db.FilterValidator) (db.FilterParser, error)
- func (g *GormDB) RowsByFields(ctx logger.WithLogger, fields db.Fields, obj interface{}) (db.Cursor, error)
- func (g *GormDB) RowsWithFilter(ctx logger.WithLogger, filter *Filter, obj interface{}) (db.Cursor, error)
- func (g *GormDB) Sum(ctx logger.WithLogger, groupFields []string, sumFields []string, ...) (int64, error)
- func (g *GormDB) Transaction(handler db.TransactionHandler) error
- func (g *GormDB) Update(ctx logger.WithLogger, obj interface{}, filter db.Fields, newFields db.Fields) error
- func (g *GormDB) UpdateAll(ctx logger.WithLogger, obj interface{}, newFields db.Fields) error
- func (g *GormDB) UpdateWithFilter(ctx logger.WithLogger, obj interface{}, filter *db.Filter, newFields db.Fields) error
- type GormTransaction
- type Interval
- type JoinPair
- type JoinQuery
- type JoinQueryConstructor
- type JoinTable
- type Joiner
- type ModelDescriptor
- type ModelStore
- func (m *ModelStore) AllModels() []interface{}
- func (m *ModelStore) FindDescriptor(name string) *ModelDescriptor
- func (m *ModelStore) FindModel(name string) interface{}
- func (m *ModelStore) ParseModelFields(descriptor *ModelDescriptor) error
- func (m *ModelStore) RegisterModel(model interface{})
- func (m *ModelStore) RegisterModels(models []interface{})
- type Paginator
- type TransactionHandler
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultDbConnector = PostgresDbConnector
View Source
var ObjectTypeName = utils.ObjectTypeName
Functions ¶
func DeleteAllByFields ¶
func DeleteByField ¶
func DeleteById ¶
func FindAllInterval ¶
func FindByField ¶
func FindByFields ¶
func FindForUpdate ¶
func FindSelectNotIn ¶
func FindWithFilter ¶
func IsIndexField ¶
func PostgresPartitionedMonthAutoMigrate ¶
func PostgresPartitionedMonthAutoMigrate(ctx logger.WithLogger, db *gorm.DB, models ...interface{}) error
func PrepareJoin ¶
func PrepareJoin(f *FilterManager, g *gorm.DB, constructor *JoinQueryConstructor) (*gorm.DB, error)
func RowsByFields ¶
func RowsWithFilter ¶
func SumWithFilter ¶
func Transaction ¶
func Transaction(db *gorm.DB, handler TransactionHandler) error
func UpdateFieldMulti ¶
func UpdateFieldsAll ¶
func UpdateFielsdMulti ¶
Types ¶
type DbConnector ¶
type DbConnector struct { DialectorOpener func(provider string, dsn string) (gorm.Dialector, error) DsnBuilder func(config *db.DBConfig) (string, error) DbCreator func(provider string, db *gorm.DB, dbName string) error CheckDuplicateKeyError func(provider string, result *gorm.DB) (bool, error) PartitionedMonthMigrator func(provider string, ctx logger.WithLogger, db *gorm.DB, models ...interface{}) error PartitionedMonthDetacher func(provider string, ctx logger.WithLogger, db *gorm.DB, table string, months []utils.Month) error PartitionedMonthDeleter func(provider string, ctx logger.WithLogger, db *gorm.DB, table string, months []utils.Month) error }
func PostgresDbConnector ¶
func PostgresDbConnector() *DbConnector
type FieldDescriptor ¶
type FilterManager ¶
type FilterManager struct {
// contains filtered or unexported fields
}
func NewFilterManager ¶
func NewFilterManager(modelStore ...*ModelStore) *FilterManager
func (*FilterManager) ParseFilter ¶
func (*FilterManager) ParseFilterDirect ¶
func (f *FilterManager) ParseFilterDirect(query *db.Query, model interface{}, parserName string, vld ...*db.FilterValidator) (*db.Filter, error)
func (*FilterManager) PrepareFilterParser ¶
func (f *FilterManager) PrepareFilterParser(model interface{}, name string, validator ...*db.FilterValidator) (db.FilterParser, error)
type FilterParser ¶
type FilterParser struct { Manager *FilterManager Destination *ModelDescriptor Validator *db.FilterValidator }
func (*FilterParser) ParseValidateField ¶
type GormCursor ¶
type GormCursor struct {
// contains filtered or unexported fields
}
func (*GormCursor) Close ¶
func (c *GormCursor) Close(ctx logger.WithLogger) error
func (*GormCursor) Next ¶
func (c *GormCursor) Next(ctx logger.WithLogger) (bool, error)
func (*GormCursor) Scan ¶
func (c *GormCursor) Scan(ctx logger.WithLogger, obj interface{}) error
type GormDB ¶
type GormDB struct { DbState // contains filtered or unexported fields }
func New ¶
func New(dbConnector ...*DbConnector) *GormDB
func (*GormDB) AutoMigrate ¶
func (g *GormDB) AutoMigrate(ctx logger.WithLogger, models []interface{}) error
func (*GormDB) CreateDatabase ¶
func (g *GormDB) CreateDatabase(ctx logger.WithLogger, dbName string) error
func (*GormDB) DeleteByField ¶
func (g *GormDB) DeleteByField(ctx logger.WithLogger, field string, value interface{}, model interface{}) error
func (*GormDB) DeleteByFields ¶
func (*GormDB) EnableDebug ¶
func (*GormDB) EnableVerboseErrors ¶
func (*GormDB) FindByField ¶
func (*GormDB) FindByFields ¶
func (*GormDB) FindForShare ¶
func (*GormDB) FindForUpdate ¶
func (*GormDB) FindWithFilter ¶
func (*GormDB) InitWithConfig ¶
func (*GormDB) Join ¶
func (g *GormDB) Join(ctx logger.WithLogger, joinConfig *db.JoinQueryConfig, filter *Filter, dest interface{}) (int64, error)
func (*GormDB) MakeExpression ¶
func (*GormDB) MigrateDropIndex ¶
func (g *GormDB) MigrateDropIndex(ctx logger.WithLogger, model interface{}, indexName string) error
func (*GormDB) NativeHandler ¶
func (g *GormDB) NativeHandler() interface{}
func (*GormDB) ParseFilter ¶
func (*GormDB) ParseFilterDirect ¶
func (*GormDB) PartitionedMonthAutoMigrate ¶
func (g *GormDB) PartitionedMonthAutoMigrate(ctx logger.WithLogger, models []interface{}) error
func (*GormDB) PartitionedMonthsDelete ¶
func (*GormDB) PartitionedMonthsDetach ¶
func (*GormDB) PrepareFilterParser ¶
func (g *GormDB) PrepareFilterParser(model interface{}, name string, validator ...*db.FilterValidator) (db.FilterParser, error)
func (*GormDB) RowsByFields ¶
func (*GormDB) RowsWithFilter ¶
func (*GormDB) Transaction ¶
func (g *GormDB) Transaction(handler db.TransactionHandler) error
func (*GormDB) UpdateWithFilter ¶
type GormTransaction ¶
type GormTransaction struct {
GormDB
}
type JoinPair ¶
type JoinPair struct { db.JoinPairBase // contains filtered or unexported fields }
type JoinQueryConstructor ¶
type JoinQueryConstructor struct { db.JoinQueryBase // contains filtered or unexported fields }
type JoinTable ¶
type JoinTable struct { db.JoinTableBase // contains filtered or unexported fields }
type Joiner ¶
type Joiner struct {
// contains filtered or unexported fields
}
func (*Joiner) Destination ¶
type ModelDescriptor ¶
type ModelDescriptor struct { Sample interface{} Schema *schema.Schema FieldsJson map[string]*FieldDescriptor }
func NewModelDescriptor ¶
func NewModelDescriptor(model interface{}, cacheStore *sync.Map, namer schema.Namer) *ModelDescriptor
func (*ModelDescriptor) FieldsReady ¶
func (d *ModelDescriptor) FieldsReady() bool
func (*ModelDescriptor) FindJsonField ¶
func (d *ModelDescriptor) FindJsonField(json string) (*FieldDescriptor, error)
func (*ModelDescriptor) ParseFields ¶
func (d *ModelDescriptor) ParseFields() error
type ModelStore ¶
type ModelStore struct {
// contains filtered or unexported fields
}
var GlobalModelStore *ModelStore
func NewModelStore ¶
func NewModelStore(global bool) *ModelStore
func (*ModelStore) AllModels ¶
func (m *ModelStore) AllModels() []interface{}
func (*ModelStore) FindDescriptor ¶
func (m *ModelStore) FindDescriptor(name string) *ModelDescriptor
func (*ModelStore) FindModel ¶
func (m *ModelStore) FindModel(name string) interface{}
func (*ModelStore) ParseModelFields ¶
func (m *ModelStore) ParseModelFields(descriptor *ModelDescriptor) error
func (*ModelStore) RegisterModel ¶
func (m *ModelStore) RegisterModel(model interface{})
func (*ModelStore) RegisterModels ¶
func (m *ModelStore) RegisterModels(models []interface{})
type TransactionHandler ¶
Click to show internal directories.
Click to hide internal directories.