Documentation ¶
Index ¶
- Variables
- func GetManager() *manager
- func NewCreateMongoWrapperErr(err error) error
- func NewCreateSqlWrapperErr(err error) error
- func NewDbLogger(config LoggerConfig) logger.Interface
- func NewMigrateErr(err error) error
- func NewNotExistServiceNameErr(serviceName string) error
- func NewNotImplementedErr() error
- func NewNotSupportedDbTypeErr(dbType string) error
- type Config
- type CreateMongoWrapperErr
- type CreateSqlWrapperErr
- type DbLogger
- func (l DbLogger) Error(ctx context.Context, msg string, data ...interface{})
- func (l DbLogger) Info(ctx context.Context, msg string, data ...interface{})
- func (l *DbLogger) LogMode(level logger.LogLevel) logger.Interface
- func (l DbLogger) Trace(ctx context.Context, begin time.Time, fc func() (string, int64), err error)
- func (l DbLogger) Warn(ctx context.Context, msg string, data ...interface{})
- type LoggerConfig
- type MigrateErr
- type Mongo
- type MongoLogger
- type MongoLoggerConfig
- type MongoWrapper
- type Mysql
- type MysqlSpecificConfig
- type NotExistServiceNameErr
- type NotImplementedErr
- type NotSupportedDbTypeErr
- type Postgresql
- type PostgresqlSpecificConfig
- type SqlConfigurable
- type SqlWrapper
- type Sqlite
Constants ¶
This section is empty.
Variables ¶
var ( DbLogType = zlogger.NewLogType("DB_OP") DbTraceLogType = zlogger.NewLogType("DB_TRACE_OP") )
MARK: Variables
Functions ¶
func GetManager ¶
func GetManager() *manager
GetManager - This function returns singleton instance of Db Manager
func NewCreateMongoWrapperErr ¶
NewCreateMongoWrapperErr - return a new instance of CreateMongoWrapperErr
func NewCreateSqlWrapperErr ¶
NewCreateSqlWrapperErr - return a new instance of CreateSqlWrapperErr
func NewDbLogger ¶
func NewDbLogger(config LoggerConfig) logger.Interface
NewDbLogger - return instance of DbLogger which implement Interface
func NewMigrateErr ¶
NewMigrateErr - return a new instance of MigrateErr
func NewNotExistServiceNameErr ¶
NewNotExistServiceNameErr - return a new instance of NotExistServiceNameErr
func NewNotImplementedErr ¶
func NewNotImplementedErr() error
NewNotImplementedErr - return a new instance of NotImplementedErr
func NewNotSupportedDbTypeErr ¶
NewNotSupportedDbTypeErr - return a new instance of NotSupportedDbTypeErr
Types ¶
type Config ¶
type Config struct { SkipDefaultTransaction bool `json:"skip_default_transaction"` DryRun bool `json:"dry_run"` PrepareStmt bool `json:"prepare_stmt"` DisableAutomaticPing bool `json:"disable_automatic_ping"` DisableForeignKeyConstraintWhenMigrating bool `json:"disable_foreign_key_constraint_when_migrating"` IgnoreRelationshipsWhenMigrating bool `json:"ignore_relationships_when_migrating"` DisableNestedTransaction bool `json:"disable_nested_transaction"` }
type CreateMongoWrapperErr ¶
type CreateMongoWrapperErr struct {
Err error
}
CreateMongoWrapperErr Error
func (*CreateMongoWrapperErr) Error ¶
func (err *CreateMongoWrapperErr) Error() string
Error method - satisfying error interface
type CreateSqlWrapperErr ¶
type CreateSqlWrapperErr struct {
Err error
}
CreateSqlWrapperErr Error
func (*CreateSqlWrapperErr) Error ¶
func (err *CreateSqlWrapperErr) Error() string
Error method - satisfying error interface
type DbLogger ¶
DbLogger - DB Logger struct
type LoggerConfig ¶
type MigrateErr ¶
type MigrateErr struct {
Err error
}
MigrateErr Error
func (*MigrateErr) Error ¶
func (err *MigrateErr) Error() string
Error method - satisfying error interface
type MongoLogger ¶
type MongoLogger struct { }
MongoLogger - Mongo DB Logger struct
func (*MongoLogger) Error ¶
func (m *MongoLogger) Error(err error, message string, keysAndValues ...interface{})
func (*MongoLogger) Info ¶
func (m *MongoLogger) Info(level int, message string, keysAndValues ...interface{})
type MongoLoggerConfig ¶
type MongoWrapper ¶
type MongoWrapper struct {
// contains filtered or unexported fields
}
SqlWrapper struct
func NewMongoWrapper ¶
func NewMongoWrapper(name string) (*MongoWrapper, error)
NewMongoWrapper - create a new instance of MongoWrapper and returns it
type Mysql ¶
type Mysql struct { DatabaseName string `json:"db"` Username string `json:"username"` Password string `json:"password"` Host string `json:"host"` Port string `json:"port"` Protocol string `json:"protocol"` Options map[string]string `json:"options"` Config *Config `json:"config"` LoggerConfig *LoggerConfig `json:"logger"` SpecificConfig *MysqlSpecificConfig `json:"specific_config"` }
type MysqlSpecificConfig ¶
type MysqlSpecificConfig struct { DefaultStringSize uint `json:"default_string_size"` DisableDatetimePrecision bool `json:"disable_datetime_precision"` DefaultDatetimePrecision int `json:"default_datetime_precision"` SupportRenameIndex bool `json:"support_rename_index"` SupportRenameColumn bool `json:"support_rename_column"` SkipInitializeWithVersion bool `json:"skip_initialize_with_version"` DisableWithReturning bool `json:"disable_with_returning"` SupportNullAsDefaultValue bool `json:"support_null_as_default_value"` SupportRenameColumnUnique bool `json:"support_rename_column_unique"` }
type NotExistServiceNameErr ¶
type NotExistServiceNameErr struct {
// contains filtered or unexported fields
}
NotExistServiceNameErr Error
func (*NotExistServiceNameErr) Error ¶
func (err *NotExistServiceNameErr) Error() string
Error method - satisfying error interface
type NotImplementedErr ¶
type NotImplementedErr struct { }
NotImplementedErr Error
func (*NotImplementedErr) Error ¶
func (err *NotImplementedErr) Error() string
Error method - satisfying error interface
type NotSupportedDbTypeErr ¶
type NotSupportedDbTypeErr struct {
// contains filtered or unexported fields
}
NotSupportedDbTypeErr Error
func (*NotSupportedDbTypeErr) Error ¶
func (err *NotSupportedDbTypeErr) Error() string
Error method - satisfying error interface
type Postgresql ¶
type Postgresql struct { DatabaseName string `json:"db"` Username string `json:"username"` Password string `json:"password"` Host string `json:"host"` Port string `json:"port"` Options map[string]string `json:"options"` Config *Config `json:"config"` LoggerConfig *LoggerConfig `json:"logger"` SpecificConfig *PostgresqlSpecificConfig `json:"specific_config"` }
type SqlConfigurable ¶
type SqlConfigurable interface { Sqlite | Mysql | Postgresql }
type SqlWrapper ¶
type SqlWrapper[T SqlConfigurable] struct { // contains filtered or unexported fields }
SqlWrapper struct
func NewSqlWrapper ¶
func NewSqlWrapper[T SqlConfigurable](name string, dbType string) (*SqlWrapper[T], error)
NewSqlWrapper - create a new instance of SqlWrapper and returns it
func (*SqlWrapper[T]) AttachMigrationFunc ¶
func (s *SqlWrapper[T]) AttachMigrationFunc(f func(migrator gorm.Migrator) error) error
AttachMigrationFunc - attach migration function to be called by end user
func (*SqlWrapper[T]) GetDb ¶
func (s *SqlWrapper[T]) GetDb() (*gorm.DB, error)
GetDb - return associated internal Db
func (*SqlWrapper[T]) Migrate ¶
func (s *SqlWrapper[T]) Migrate(models ...interface{}) error
Migrate - migrate models to the database