-
-
Notifications
You must be signed in to change notification settings - Fork 304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
真心的说哈,如果你的项目没有用上这个,千万别用。并不能节省什么工作量。 #1218
Comments
确实,这里使用起来很难受,我现在去适配他 |
谢谢你对GORM Gen的关注与问题的详细反馈!
fieldOpts := []gen.ModelOpt{
gen.FieldGORMTag("update_time", func(tag field.GormTag) field.GormTag {
tag.Set("autoUpdateTime", "")
return tag
}),
gen.FieldGORMTag("create_time", func(tag field.GormTag) field.GormTag {
tag.Set("autoCreateTime", "")
return tag
}),
} 标准的 CreatedAt 和 UpdatedAt 字段更是不需额外配置即可支持,可以参考Gorm文档https://gorm.io/docs/conventions.html#Timestamp-Tracking。
再一次感谢你的宝贵意见,愿更多开发者可以从 GORM Gen 中受益!如有更多问题,欢迎继续提出。祝好! |
写起来确实有点费时间,基础的增删改查还好,稍微复杂点的查询基本实现不了,例如COALESCE,还得走 gorm,关联关系也有一些问题,Issues回复表较慢,两三个月没人回 用在基础增删改查方面确实能提升一些开发效率和安全性 |
基本的查询确实很方便,但是复杂的我看到有动态SQL, 但是这个需要怎么join其他的?有没有比较官方的demo |
这个主要是用来curd的吧?模型还是像原始gorm一样用代码手动定义,相信没有多少从schema生成模型的(可能跨语言情况下有这种需求)。 相比与原始的gorm,可以避免写字面量,部分操作也有了类型、在安全和使用便捷性上是非常大的提升;相较于ent也更简单。 |
如题,我花费了一整天研究这个东西,发现并不能节省工作量。如果有朋友想上这个工具的,先阅读一下我写的,再决定使用这个工具。以下内容仅个人观点
简单来说,这个工具是通过数据库或者SQL语句来生成gorm的模型声明,以及查询语句。
1、 首先 如果仅为了生成模型,使用sql语句还是直接用数据库工具操作,或者手写go语句直接描述模型其实都是一样的工作量。对不对?那么还不如直接用go语句来定义。至于查询功能,gorm提供的接口已经很方便了。
2、 这个工具不能自动生成类似于 autoCreateTime, autoUpdateTime 这么方便的gorm 高级选项 还有很多。也许你想反驳我,嗯,我贴一下脱裤子打屁的代码吧。
如果您的表设计,字段命名比较随意的话,比如update_time, update_at....那么,您的兼容生成代码会非常多。请阅读一下文档:
https://gorm.io/zh_CN/docs/models.html
3、 null 类型数据只能转成指针,那么方便的 sql.NullString 是使用不了的。如果这个字段标注了uniqueIndex ,你会发现,不如sql.NullString
The text was updated successfully, but these errors were encountered: