1 Star 0 Fork 0

会PS的小码农/sqlize

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
options.go 1.69 KB
一键复制 编辑 原始数据 按行查看 历史
Nhat 提交于 2023-05-27 10:24 +08:00 . naming plural convention opt (#40)
package sql_builder
type sqlBuilderOptions struct {
isPostgres bool
isLower bool
sqlTag string
generateComment bool
pluralTableName bool
}
type funcSqlBuilderOption struct {
f func(*sqlBuilderOptions)
}
func (fso *funcSqlBuilderOption) apply(do *sqlBuilderOptions) {
fso.f(do)
}
func newFuncSqlBuilderOption(f func(*sqlBuilderOptions)) *funcSqlBuilderOption {
return &funcSqlBuilderOption{
f: f,
}
}
// SqlBuilderOption ...
type SqlBuilderOption interface {
apply(*sqlBuilderOptions)
}
// WithSqlTag default tag is `sql`
func WithSqlTag(sqlTag string) SqlBuilderOption {
return newFuncSqlBuilderOption(func(o *sqlBuilderOptions) {
o.sqlTag = sqlTag
})
}
// WithMysql default
func WithMysql() SqlBuilderOption {
return newFuncSqlBuilderOption(func(o *sqlBuilderOptions) {
o.isPostgres = false
})
}
// WithPostgresql default is mysql
func WithPostgresql() SqlBuilderOption {
return newFuncSqlBuilderOption(func(o *sqlBuilderOptions) {
o.isPostgres = true
})
}
// WithSqlUppercase default
func WithSqlUppercase() SqlBuilderOption {
return newFuncSqlBuilderOption(func(o *sqlBuilderOptions) {
o.isLower = false
})
}
// WithSqlLowercase default is uppercase
func WithSqlLowercase() SqlBuilderOption {
return newFuncSqlBuilderOption(func(o *sqlBuilderOptions) {
o.isLower = true
})
}
// WithPluralTableName Table name in plural convention - ending with `s`
func WithPluralTableName() SqlBuilderOption {
return newFuncSqlBuilderOption(func(o *sqlBuilderOptions) {
o.pluralTableName = true
})
}
// WithCommentGenerate default is off
func WithCommentGenerate() SqlBuilderOption {
return newFuncSqlBuilderOption(func(o *sqlBuilderOptions) {
o.generateComment = true
})
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/liushuai05/sqlize.git
git@gitee.com:liushuai05/sqlize.git
liushuai05
sqlize
sqlize
v1.0.0

搜索帮助