Closed Qiufcong closed 2 years ago
不是的,uow是unit of work的缩写。是为了解决事务管理的问题 在同一个请求过程中,有可能会暂时性地切换租户,或者说涉及到多个数据库的操作,或者说同一个数据库,在同一个请求中,我希望数据库的操作,是封装在同一个事务里的,一起成功,或者一起失败,这就是unit of work模式
可以看看,通过中间件的形式,为每个请求开启一个unit of work,数据库都是通过这个unit of work去拿到事务,如果没有,就会创建这个事务,如果失败,则回滚 https://github.com/Goxiaoy/go-saas-kit/blob/main/pkg/uow/uow.go
这个包我还没有详细地测试,如果你有知道更好的事务管理的方式,也可以告诉我
uow这个包是做什么用的?仅仅是为了支持单元测试用的吗?