将 gorm 的 gorm.Model 字段集成到 protobuf 定义中时,由于 proto3 中缺乏日期时间支持,出现了挑战。本文探讨了此问题的解决方案。
CreatedAt、UpdatedAt:将 google.protobuf.Timestamp 与 gogoproto.stdtime 选项一起使用。
DeletedAt:使用转换函数将其处理为不透明时间戳字段。
protoc-gen-gorm 项目面临 proto2 和proto3 兼容性。
为了集成 gorm.Model 字段,可以在生成 go 文件后使用像 gorm.sh 这样的后处理脚本。该脚本可以更新生成的代码以包含 GORM 特定的注释。
在生成的 pb.go 上使用 ./gorm.sh file.pb.go 执行脚本文件。该脚本将为 id、name 等添加注释,使 GORM 能够与模型字段正确交互。
集成 gorm.Model 需要额外处理日期时间字段和自定义代码生成或后处理。通过遵循这些步骤,开发人员可以成功地将 GORM 字段集成到他们的原型定义中。
以上是如何将 gorm.Model 集成到具有日期时间支持的 Protocol Buffer 定义中?的详细内容。更多信息请关注PHP中文网其他相关文章!