Documentation
¶
Index ¶
- Variables
- type Condition
- type ConditionGroup
- type DB
- func (db *DB) AddDateFilters(query *bun.SelectQuery, filters []DateFilter) *bun.SelectQuery
- func (db *DB) AddKeysetPagination(query *bun.SelectQuery, limit int, cursors ...ConditionGroup) (*bun.SelectQuery, error)
- func (db *DB) CreateExtensions(extensions []string) error
- func (db *DB) CreateTables(models []interface{}) error
- func (db *DB) QueryBuilder(groups []ConditionGroup) (query string, queryArgs []interface{}, err error)
- func (db *DB) QueryCount(ctx context.Context, model interface{}, query string, ...) (int, error)
- func (db *DB) RegisterModels(models []interface{}) error
- func (db *DB) ResetTables(models []interface{}) error
- func (db *DB) RollbackLastMigration(migrations *migrate.Migrations) error
- func (db *DB) RunMigrations(migrations *migrate.Migrations) error
- type DateFilter
- type LogicalOperator
- type Operator
- type Option
Constants ¶
This section is empty.
Variables ¶
View Source
var ( EqualOperator = Operator{"="} GreaterThanOperator = Operator{">"} LessThanOperator = Operator{"<"} GreaterThanOrEqualOperator = Operator{">="} LessThanOrEqualOperator = Operator{"<="} NotEqualOperator = Operator{"!="} InOperator = Operator{"IN"} BetweenOperator = Operator{"BETWEEN"} LikeOperator = Operator{"LIKE"} ILikeOperator = Operator{"ILIKE"} IsNullOperator = Operator{"IS NULL"} IsNotNullOperator = Operator{"IS NOT NULL"} NotOperator = Operator{"NOT"} )
View Source
var ( AndOperator = LogicalOperator{"AND"} OrOperator = LogicalOperator{"OR"} )
Functions ¶
This section is empty.
Types ¶
type Condition ¶
type Condition struct { Column string Comparison Operator LogOp LogicalOperator Value interface{} }
type ConditionGroup ¶
type ConditionGroup struct { Conditions []Condition LogOp LogicalOperator }
type DB ¶
func (*DB) AddDateFilters ¶
func (db *DB) AddDateFilters(query *bun.SelectQuery, filters []DateFilter) *bun.SelectQuery
func (*DB) AddKeysetPagination ¶ added in v1.2.0
func (db *DB) AddKeysetPagination(query *bun.SelectQuery, limit int, cursors ...ConditionGroup) (*bun.SelectQuery, error)
TODO: Deprecate this function in favor of cursor pagination
func (*DB) CreateExtensions ¶
CreateExtensions - Creates a database extension if it doesn't already exist
func (*DB) CreateTables ¶
CreateTables - Creates the database schema if it doesn't already exist
func (*DB) QueryBuilder ¶
func (db *DB) QueryBuilder(groups []ConditionGroup) (query string, queryArgs []interface{}, err error)
func (*DB) QueryCount ¶
func (*DB) RegisterModels ¶
RegisterModels - Registers many-to-many relationship
func (*DB) ResetTables ¶
ResetTables - Drops and recreates the database schema
func (*DB) RollbackLastMigration ¶ added in v1.3.12
func (db *DB) RollbackLastMigration(migrations *migrate.Migrations) error
RollbackLastMigration - Rollbacks the last migration
func (*DB) RunMigrations ¶ added in v1.3.12
func (db *DB) RunMigrations(migrations *migrate.Migrations) error
RunMigrations - Executes all pending migrations
type DateFilter ¶
type DateFilter struct { DateColumn string `json:"date_column"` FromDate string `json:"from_date"` ToDate string `json:"to_date"` FromDateUnix int64 `json:"-"` ToDateUnix int64 `json:"-"` }
func (*DateFilter) ParseToUnix ¶ added in v1.1.1
func (df *DateFilter) ParseToUnix(validDBColumns []string) error
type LogicalOperator ¶
type LogicalOperator struct {
Value string
}
func (LogicalOperator) String ¶
func (s LogicalOperator) String() string
Source Files
¶
Click to show internal directories.
Click to hide internal directories.