Bei der Integration von gorm.Model-Feldern in Protobuf-Definitionen treten aufgrund der fehlenden Datetime-Unterstützung in Proto3 Herausforderungen auf. In diesem Artikel werden Lösungen für dieses Problem untersucht.
CreatedAt, UpdatedAt: Verwenden Sie google.protobuf.Timestamp mit der Option gogoproto.stdtime.
DeletedAt: Behandeln Sie es als undurchsichtiges Zeitstempelfeld mit einer Konvertierungsfunktion.
Das Protoc-Gen-Gorm-Projekt stand vor Herausforderungen mit Proto2 und Proto3-Kompatibilität.
Um gorm.Model-Felder zu integrieren, kann nach der Go-Dateigenerierung ein Nachbearbeitungsskript wie gorm.sh verwendet werden. Dieses Skript kann den generierten Code aktualisieren, um GORM-spezifische Anmerkungen einzuschließen.
Führen Sie das Skript mit ./gorm.sh file.pb.go auf dem generierten pb.go aus Datei. Das Skript fügt Anmerkungen für ID, Name usw. hinzu, sodass GORM ordnungsgemäß mit den Modellfeldern interagieren kann.
Die Integration von gorm.Model erfordert eine zusätzliche Handhabung von Datums-/Uhrzeitfeldern und eine benutzerdefinierte Codegenerierung oder Nachbearbeitung. Durch Befolgen dieser Schritte können Entwickler GORM-Felder erfolgreich in ihre Protodefinitionen integrieren.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3