Documentation
¶
Index ¶
- func AutoCreateTableWithColumn(db *gorm.DB, tb any, errmsg string)
- func AutoCreateTableWithStruct(db *gorm.DB, tb any, errmsg string)
- func AutoMigrate(db *gorm.DB, c tablename.TableName, model any)
- func AutoSetSort(r *http.Request, order string, fieldInfoInReq bool, alias ...string) func(db *gorm.DB) *gorm.DB
- func ClearSequenceFieldDefaultValue(tx *gorm.DB, tableName string, seqFields []string) error
- func Create[T Model](tx *gorm.DB, src T) error
- func CreateIfNotExist[T Model](tx *gorm.DB, src T, c Curd) error
- func DropSequence(tx *gorm.DB, tableName string, seqFields []string) error
- func FilterSoftDelete(tableName ...string) func(db *gorm.DB) *gorm.DB
- func FilterSoftDeleted(tableName ...string) func(db *gorm.DB) *gorm.DB
- func FilterWhereByDbModel(alias string, enableDefault bool, r *http.Request, likes ...map[string]string) func(db *gorm.DB) *gorm.DB
- func FilterWhereData(data any, tableName ...string) func(db *gorm.DB) *gorm.DB
- func FilterWhereString(r *http.Request, query string, field string, like bool) func(db *gorm.DB) *gorm.DB
- func FilterWhereStruct(s any, alias string, enableDefault bool, r *http.Request, ...) func(db *gorm.DB) *gorm.DB
- func FindOne[T any](tx *gorm.DB, opts Curd) (T, error)
- func FindOnePtr[T any](tx *gorm.DB, opts Curd) (T, error)
- func FindTableWithPrefix(tx *gorm.DB, prefix string) ([]string, error)
- func GetRawSql(f func(dTx *gorm.DB) *gorm.DB, dialector gorm.Dialector) (string, []any)
- func GetRawSqlByDb(f func(dTx *gorm.DB) *gorm.DB, db *gorm.DB) (string, []any)
- func IsTiDB(tx *gorm.DB) bool
- func Paginate(r *http.Request, pageField, pageSizeField string, pageSize int) func(db *gorm.DB) *gorm.DB
- func Query[T any](tx *gorm.DB, opts Curd) (res []T, err error)
- func QueryDateTimeRange(r *http.Request, filed ...string) func(db *gorm.DB) *gorm.DB
- func RenameConstraint(tx *gorm.DB, tableName string, oldName, newName string) error
- func ResetSequence(tx *gorm.DB, tableName string, seqFields []string) error
- func Truncate(tx *gorm.DB, tableName string) error
- func UnionAllScope(queries ...*gorm.DB) func(db *gorm.DB) *gorm.DB
- func Update[T Model](tx *gorm.DB, src T, c Curd) error
- func UpdateSeq(utx *gorm.DB, tableName string)
- func UpdateWithoutValid[T any](tx *gorm.DB, opt Curd) (err error)
- type Curd
- type Model
- type QueryOpt
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AutoCreateTableWithColumn ¶
AutoCreateTableWithColumn 根据表字段判断是否有数据缺失 一次性拿到数据库的字段结构以及索引结构 根据结构体信息,生成本地模型的字段结构和索引结构 首先比对数据库与本地索引结构,将多余的索引删除调 比对字段信息变化,如果有,就进行alter操作 最后再次比对数据库与本地模型的索引结构,将缺失的索引补充上。
func AutoCreateTableWithStruct ¶
AutoCreateTableWithStruct 根据结构体判断是否需要创建表
func AutoMigrate ¶
AutoMigrate 根据结构体自动创建表
func AutoSetSort ¶
func ClearSequenceFieldDefaultValue ¶
ClearSequenceFieldDefaultValue 清除自增序列字段的默认值
func DropSequence ¶
DropSequence 删除postgreSQL数据库中指定表的序列。
func FilterSoftDelete ¶
FilterSoftDelete 软删除过滤器 筛选未处于删除状态的数据
func FilterSoftDeleted ¶
FilterSoftDeleted 软删除过滤器 筛选已经处于删除状态的数据
func FilterWhereByDbModel ¶
func FilterWhereByDbModel(alias string, enableDefault bool, r *http.Request, likes ...map[string]string) func(db *gorm.DB) *gorm.DB
FilterWhereByDbModel 通过DB 实例设置的model 自动映射查询字段 这里是通过 栈的模式,避免函数递归调用
func FilterWhereData ¶
func FilterWhereString ¶
func FilterWhereString(r *http.Request, query string, field string, like bool) func(db *gorm.DB) *gorm.DB
FilterWhereString 过滤string 条件
func FilterWhereStruct ¶
func FilterWhereStruct(s any, alias string, enableDefault bool, r *http.Request, likes ...map[string]string) func(db *gorm.DB) *gorm.DB
FilterWhereStruct 通过结构体 自动映射查询字段 Deprecated: 在FilterWhereByDbModel出来后,尽量通过这个函数来实现通过结构体 自动处理query 参数 转换到 sql where里面
func GetRawSqlByDb ¶
GetRawSqlByDb 生成sql的通用函数,db为数据库连接
func Paginate ¶
func Paginate(r *http.Request, pageField, pageSizeField string, pageSize int) func(db *gorm.DB) *gorm.DB
Paginate 分页通用部分
func QueryDateTimeRange ¶
QueryDateTimeRange 时间区间查询
func RenameConstraint ¶
func ResetSequence ¶
ResetSequence 重置postgreSQL数据库中指定表的序列值。
func UnionAllScope ¶
UnionAllScope 可复用的 UNION ALL 查询 Scope
Types ¶
type Curd ¶
type Curd struct {
Table string
Alias string
Select QueryOpt
Where QueryOpt
Preload []QueryOpt
Omit []string
Pk string // 主键字段 id row_Id
MustField map[string]*regexp.Regexp // 必填字段,正则校验
ValidExist bool // 存在校验,true 需要校验目标是否存在,false 忽略校验
Update []any // 更新
Updates any // 更新
EnableDefault bool
Joins []QueryOpt
}
Curd 通用curd函数,配置结构