將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中文網其他相關文章!