每日笔记
ORMs and Query Building in Go
gorm
和 sqlx
那种链式调用拼接查询条件的方式在可扩展性上都有缺陷,squirrel 采用高阶函数的方式可以有效封装细节——我们再也不用判断每个条件是否为空,然后再拼一段 Where
了(这在 gorm
和 sqlx
中很常见)。
To ORM or not to ORM
TL; DR ORM 在简单的 CRUD 操作中表现特别好,但是情况复杂之后就有问题了,比如这种。
吐槽:看了两篇文章都跟 gorm
相关,这东西本身实现就有问题,同事踩过它关于事务的坑。所以 ORM 其实会带来一个问题:ORM 实现本身的问题,万一它实现就有问题——还是隐藏得比较深的问题,那就坑大发了。