「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > DateTime サポートを使用して gorm.Model をプロトコル バッファー定義に統合するにはどうすればよいですか?

DateTime サポートを使用して gorm.Model をプロトコル バッファー定義に統合するにはどうすればよいですか?

2024 年 11 月 2 日に公開
ブラウズ:981

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

gorm.Model のプロトコル バッファー定義への統合

gorm の gorm.Model フィールドを protobuf 定義に統合する場合、proto3 では日時サポートがないために問題が発生します。この記事では、この問題の解決策について説明します。

ProtoBuf フィールド タイプ マッピング

CreatedAt、UpdatedAt: gogoproto.stdtime オプションで google.protobuf.Timestamp を使用します。

DeletedAt: 変換関数を備えた不透明なタイムスタンプ フィールドとして処理します。

コード生成の制限

protoc-gen-gorm プロジェクトは、proto2 とproto3 互換性。

後処理スクリプト ソリューション

gorm.Model フィールドを統合するには、go ファイル生成後に gorm.sh などの後処理スクリプトを使用できます。このスクリプトは、生成されたコードを更新して GORM 固有の注釈を含めることができます。

スクリプトの実行と結果

生成された pb.go で ./gorm.sh file.pb.go を使用してスクリプトを実行します。ファイル。スクリプトは ID、名前などの注釈を追加し、GORM がモデル フィールドと適切にやり取りできるようにします。

結論

gorm.Model を統合するには、日時フィールドの追加処理とカスタマイズされたコード生成が必要です。または後処理。これらの手順に従うことで、開発者は GORM フィールドをプロト定義に正常に統合できます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3