将 gorm 的 gorm.Model 字段集成到 protobuf 定义中时,由于 proto3 中缺乏日期时间支持,出现了挑战。本文探讨了此问题的解决方案。
CreatedAt、UpdatedAt: 将 google.protobuf.Timestamp 与 gogoproto.stdtime 选项一起使用。
DeletedAt: 将其处理为带有转换函数的不透明时间戳字段。
protoc-gen-gorm 项目面临 proto2 和 proto2 的挑战proto3 兼容性。
为了集成 gorm.Model 字段,可以在生成 go 文件后使用像 gorm.sh 这样的后处理脚本。该脚本可以更新生成的代码以包含 GORM 特定的注释。
在生成的 pb.go 上使用 ./gorm.sh file.pb.go 执行脚本文件。该脚本将为 id、name 等添加注释,使 GORM 能够与模型字段正确交互。
集成 gorm.Model 需要额外处理日期时间字段和自定义代码生成或后处理。通过遵循这些步骤,开发人员可以成功地将 GORM 字段集成到他们的原型定义中。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3