gorm の gorm.Model フィールドを protobuf 定義に統合する場合、proto3 には datetime サポートがないために問題が発生します。この記事では、この問題の解決策について説明します。
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 フィールドをプロト定義に正常に統合できます。
以上がDateTime サポートを使用して gorm.Model をプロトコル バッファー定義に統合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。