Tech
[Go 编程语言] 业务系统开发语言从 PHP / Python 转向 Go 如何实现数据的存储
之前主要是使用 PHP/Python 做业务系统开发, 比较习惯 Doctrine, Eloquent, SQLAlchemy 这类 ORM 的模式
Load Entity
↓
修改对象属性
↓
ORM 检测变更
↓
只 UPDATE 发生变化的字段
比如:
$order = Order::find(1);
$order->paid($time);
$order->save();
$order = $entityManager->find(Order::class, 1);
$order->paid($time);
$entityManager->flush();
业务代码只需要表达业务数据变成了什么样, 至于那些字段有变化, 最终那些数据被保存到数据库中, 是由 ORM 的 dirty tracking/Unit of Work 负责.
但是最近再写 Go 的时候, 感觉主流的方式更偏向于显式更新
db.Update(ctx, id, map[string]any{
"pai...
Read the full discussion on V2EX
This article was aggregated from V2EX. Click to join the conversation.
View on V2EX