GORM v2 正式发布! 20k stars ;)

2020-08-31 06:21:43 +08:00
 jinzhu

GORM 2.0 从零开始重写,根据过去几年的用户反馈吐槽,做了大量的改进,历经半年终于达成 ;)

主要更新

详情请参考 Release Note

https://gorm.io/zh_CN/docs/v2_release_note.html

13086 次点击
所在节点    Go 编程语言
100 条回复
jinzhu
2020-09-01 21:05:48 +08:00
@vZexc0m 确实可以复现 modify column 这个,已经修复,感谢!
tairan2006
2020-09-02 00:27:49 +08:00
我其实一直有个疑问,楼主为啥 id 叫金主(
yianing
2020-09-02 01:41:31 +08:00
@lrh3321 今天就遇见这个问题了😂更新一下 gorm.io/driver 就行了
petelin
2020-09-02 08:20:43 +08:00
是我在各个语言里遇到的最难用的 orm 。
而且因为 start 太多 导致其他人不愿意去写一个类似的库。毕竟这个东西更大消耗是在维护上。

我怀疑作者根本没看过其他 orm 的实现,或者一开始没有投入什么精力,一厢情愿的提供了零碎的东西,写着玩玩,可以称之为玩具。敢用在生产环境也的人也是疯了。

只针对 gorm1,gorm2 还没看。
jinzhu
2020-09-02 10:21:37 +08:00
@petelin Go 的 ORM 还真不少

> 我怀疑作者根本没看过其他 orm 的实现,或者一开始没有投入什么精力,一厢情愿的提供了零碎的东西,写着玩玩,可以称之为玩具。敢用在生产环境也的人也是疯了。

现在可以直接喷,不列证据了么?
wnanbei
2020-09-02 11:30:30 +08:00
@jinzhu 哈哈,消消气,有些人是这样的
j2gg0s
2020-09-02 12:47:10 +08:00
@pkoukk 迁移把,用新不用旧。流量不是特别大的,应该也踩不到什么极端的坑
LudwigWS
2020-09-02 13:30:55 +08:00
大佬我插个题外话。

你现在都转用 Jetbrains 的产品呢了么。这几年 Emacs 和 Vim dot file 都没怎么更新。以前看到你说从 Vim 转 Emacs 了,现在是不是又回去 Vim 了。纯属好奇。😂
jinzhu
2020-09-02 13:48:58 +08:00
@LudwigWS 现在 tmux + vim 用的挺爽的。。。之前 emacs 试了一段时间,可能单进程的原因导致经常卡,就回到 vim 了,现在个人配置文件放私有仓库了... 所以没更新。。。
blakejia
2020-09-02 15:50:13 +08:00
最新版本啥时候发布呢?遇到了这个问题。看到是已经解决了。但是没发

Gorm writes wrong SQL when trying to alter existing column for PostgreSQL

https://github.com/go-gorm/gorm/issues/3339
KickAssTonight
2020-09-02 16:13:09 +08:00
支持,可以在查询前 WithContext 了!
pkoukk
2020-09-02 17:13:34 +08:00
@petelin go 没有泛型,你说说咋实现你所说的其它语言 orm 的功能?...
jinzhu
2020-09-02 20:36:48 +08:00
@blakejia 等再多收集几天的问题一起发个版吧
blakejia
2020-09-03 14:29:00 +08:00
@jinzhu #93 对了。好像对 big.Int 或者 big.Float 目前还不支持么?测试了下。读取的时候报
unsupported Scan, storing driver.Value type string into type *big.Int
ysongyang
2020-09-03 16:28:13 +08:00
自定义预加载报错:invalid query condition,是我用法不对吗? https://www.v2ex.com/t/703904#reply0
ccxx
2020-09-06 12:48:12 +08:00
@jinzhu 请问查询单个字段怎么 scan 到变量而不是结构体,文档的例子 scan 到 int 类型的变量可以,但是数据库查询 varchar 的字段 scan 到 steing 类型的变量不行。
Aoang
2020-09-26 17:03:02 +08:00
@jinzhu 现在 Gorm 是不是不需要手动关闭连接了。
V1 有 db.Close(),V2 好像得 db.DB() 拿到 sql.DB 之后进行关闭。

关闭这个步骤在 V2 里面不再是必须的了?
jinzhu
2020-09-27 15:08:37 +08:00
@ccxx 最新版本应该可以了

@Aoang 其实对于大多数应用 v1 版本也不需要 Close,用连接池就好了,好多人用错,于是直接把 Close 方法去掉了,刚需 Close 的人应该也能从文档里找到怎么用
wuqingdzx
2020-11-19 10:32:01 +08:00
1.20.6 还没有 CreateInBatches 这个方法
kennry
2020-12-28 10:19:38 +08:00
@jinzhu
问题一:v2 版本添加索引值只能在对象的 tag 添加吗,手动进行迁移时不能和 v1 一样单独添加吗,这样添加多个索引时对象 tag 会很长,而且 gorm.Model 软删除的字段也添加不进联合索引
问题二:自动迁移时添加外键关联会把外键的相关结构体的外键字段数据库生成时会自动生成为 bigint 类型,而不是我关联结构体定义的类型,这个怎么破?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/702700

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX