golang grpc 服务用来接受客户端提交数据。
数据类型比较多。
通过 gorm 保存数据。
pb 类型要单独转换为 gorm model 么?
数据类型比较多。
通过 gorm 保存数据。
pb 类型要单独转换为 gorm model 么?
|
ilylx2008Jul 14, 2024
1
需要
|
|
mogitaJul 14, 2024 via iPhone
2
dto 和 dao 各一份(二者异构大有可能)
|
|
zjh7890Jul 14, 2024
3
可以利用 IDEA 插件让 ChatGPT 帮你生成样板代码
|
|
4
probobuf 结构自动生成的,要加 gorm model 的 tag 要改 proto 文件重新生成,而且同一个字段在 protobuf 中的类型跟在 gorm model 的类型可能不一样(int, int32, int64, uint, etc),分开定义后期迭代省事,除非预期不用改。
|
|
ninjashixuanJul 14, 2024
5
就算不是微服务也是两套吧
|
|
dobeleeJul 14, 2024
6
手撸一个 pb ,让 ChatGPT 自动生成 DDL 、GORM.
|
|
caicaiwoshishuiJul 14, 2024
7
肯定两套呀,po 的数据类型不一定都会在 pb 展示呀
|
|
8
需要两套。可以考虑 copier 库,可以根据字段名,复制两个结构。
|
|
wenyuheJul 14, 2024
9
两者异构很正常, 但是枚举可以定义在 pb 里。该关联的关联,该分开的分开
|
|
11
使用工具连接数据库之后就可以生成 pb 和 gorm 两套对应的代码,示例 https://go-sponge.com/ui/micro-service
|
|
12
@zzhaolei #8 这个是使用 reflect 实现的,接口中使用性能堪忧。推荐使用 https://github.com/jmattheis/goverter 脚本预生成转换代码,好用、性能高
|
|
louxJul 15, 2024
14
pb 可以用自定义结构体类型 google.protobuf.Struct ,序列化下就行
|