Versions in this module Expand all Collapse all v1 v1.3.0 Feb 6, 2026 Changes in this version type BaseModel + CreatorName string + UpdaterName string + func (i *BaseModel) BeforeUpdate(tx *gorm.DB) (err error) type DBServiceProvider + func (i *DBServiceProvider) Conf() map[string]string + func (i *DBServiceProvider) Description() string v1.2.0 Jan 28, 2026 v1.0.0 Jan 22, 2026 Changes in this version + func AppendWhereFromStruct(db *gorm.DB, s any) + func GetModelsByIDs[T any](modelIDs []string) []T + func InitDB(opt *Options, log log.Logger, plugins ...gorm.Plugin) *gorm.DB + func NewPgSqlGetter(opt *Options) *pgsqlConnector + func NewSqliteGetter(opt *Options) *sqliteGetter + func Paginate(page, pageSize int) func(db *gorm.DB) *gorm.DB + type BaseModel struct + CreatedAt *time.Time + CreatorID string + DeletedAt *gorm.DeletedAt + ID uint + UpdatedAt *time.Time + UpdaterID string + func (i *BaseModel) BeforeCreate(tx *gorm.DB) (err error) + type BaseRepository struct + func NewBaseRepository[T any](db *gorm.DB) BaseRepository[T] + func (i *BaseRepository[T]) ChangeStatus(req *ChangeStatus) error + func (i *BaseRepository[T]) Delete(ids ...any) error + func (i *BaseRepository[T]) Detail(id any) (*T, error) + func (i *BaseRepository[T]) Retrieve(page, pageSize int, fn func(db *gorm.DB)) (count int64, list []T, err error) + func (i *BaseRepository[T]) Save(data *T) error + func (i *BaseRepository[T]) Unique(id uint, fn func(db *gorm.DB)) (*T, bool) + func (i *BaseRepository[T]) WithContext(ctx context.Context) *BaseRepository[T] + type ChangeStatus struct + ID uint + Status int + type Connector interface + DefaultOptions func() *Options + GetDSN func() string + Open func(cfg *gorm.Config) (*gorm.DB, error) + Options func() *Options + type CustomReplacer struct + func (r CustomReplacer) Replace(name string) string + type DBServiceProvider struct + func (i *DBServiceProvider) Boot() + func (i *DBServiceProvider) GenerateConf() map[string]string + func (i *DBServiceProvider) Register() + type Driver string + const ClickHouse + const DM + const Mysql + const Oracle + const Pgsql + const Sqlite + type MysqlConnector struct + func NewMysqlConnector(opt *Options) *MysqlConnector + func (i *MysqlConnector) DefaultOptions() *Options + func (i *MysqlConnector) GetDSN() string + func (i *MysqlConnector) Open(cfg *gorm.Config) (*gorm.DB, error) + func (i *MysqlConnector) Options() *Options + type Options struct + Charset string + Database string + Driver Driver + Host string + MaxConns int + MaxIdleConns int + Password string + Port int + Query string + Schema string + TimeZone string + Username string + type OwlGormLogger struct + func NewOwlGormLogger(l logContract.Logger) *OwlGormLogger + func (i *OwlGormLogger) Error(ctx context.Context, msg string, data ...interface{}) + func (i *OwlGormLogger) Info(ctx context.Context, msg string, data ...interface{}) + func (i *OwlGormLogger) LogMode(level logger.LogLevel) logger.Interface + func (i *OwlGormLogger) Trace(ctx context.Context, begin time.Time, ...) + func (i *OwlGormLogger) Warn(ctx context.Context, msg string, data ...interface{})