Documentation ¶
Index ¶
- func Deadlock(err error) bool
- func NotFound(err error) bool
- func UniqueViolation(err error) bool
- type Backend
- func (b *Backend) Begin() *Backend
- func (b *Backend) Close() error
- func (b *Backend) Connect(migrations ...*gormigrate.Migration) error
- func (b *Backend) Context() context.Context
- func (b *Backend) End(rErr error) error
- func (b *Backend) Error(ctx context.Context, f string, v ...interface{})
- func (b *Backend) Info(ctx context.Context, f string, v ...interface{})
- func (b *Backend) LogMode(l logger.LogLevel) logger.Interface
- func (b *Backend) Trace(ctx context.Context, begin time.Time, fc func() (string, int64), err error)
- func (b *Backend) Warn(ctx context.Context, f string, v ...interface{})
- func (b *Backend) WithContext(ctx context.Context) *Backend
- func (b *Backend) WithDebug() *Backend
- type Pagination
- type Paginator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func UniqueViolation ¶
UniqueViolation is true when database unique index is violated
Types ¶
type Backend ¶
type Backend struct { DB *gorm.DB Driver gorm.Dialector Config *gorm.Config Debug bool Migrate bool MaxIdleConns int MaxOpenConns int ConnMaxLifetime time.Duration InitSchema func(*gorm.DB) error Logger *slog.Logger // contains filtered or unexported fields }
Backend implements generic database backend
func (*Backend) Connect ¶
func (b *Backend) Connect(migrations ...*gormigrate.Migration) error
Connect sets up the backend and applies migrations if Migrate flag is set to true. InitSchema func if set, is used to create initial schema.
func (*Backend) WithContext ¶
WithContext creates Backend clone with new context and logger
type Pagination ¶
type Pagination struct { PageSize int `json:"page_size"` NextPageToken string `json:"next_page_token"` ThisPageToken string `json:"this_page_token"` PrevPageToken string `json:"prev_page_token"` // contains filtered or unexported fields }
Pagination contains pagination fields
func (*Pagination) GetPageSize ¶
func (p *Pagination) GetPageSize() int
GetPageSize returns pagination size
func (Pagination) WithTable ¶ added in v4.1.6
func (p Pagination) WithTable(tableName string) Pagination
type Paginator ¶
type Paginator[A any] struct { FieldName string TieBreakField string Reverse bool Debug bool IsTime bool }
Paginator provides cursor-based paginator
func NewPaginator ¶ added in v4.1.8
func (*Paginator[A]) Paginate ¶
func (p *Paginator[A]) Paginate(src []A, pgn *Pagination) ([]A, *Pagination)
Paginate query result according to parameter
Click to show internal directories.
Click to hide internal directories.