首頁 > 後端開發 > Golang > 如何將 gorm.Model 整合到具有日期時間支援的 Protocol Buffer 定義中?

如何將 gorm.Model 整合到具有日期時間支援的 Protocol Buffer 定義中?

Barbara Streisand
發布: 2024-10-27 05:26:29
原創
935 人瀏覽過

How to Integrate gorm.Model into Protocol Buffer Definitions with DateTime Support?

將gorm.Model 整合到Protocol Buffer 定義中

將gorm 的gorm.Model 欄位整合到protobuf 定義中時,由於proto3 中缺乏日期時間支持,出現了挑戰。本文探討了此問題的解決方案。

ProtoBuf 欄位類型對應

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板