„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie integriere ich gorm.Model in Protokollpufferdefinitionen mit DateTime-Unterstützung?

Wie integriere ich gorm.Model in Protokollpufferdefinitionen mit DateTime-Unterstützung?

Veröffentlicht am 02.11.2024
Durchsuche:859

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

Integration von gorm.Model in Protokollpufferdefinitionen

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.

ProtoBuf-Feldtypzuordnung

CreatedAt, UpdatedAt: Verwenden Sie google.protobuf.Timestamp mit der Option gogoproto.stdtime.

DeletedAt: Behandeln Sie es als undurchsichtiges Zeitstempelfeld mit einer Konvertierungsfunktion.

Einschränkungen bei der Codegenerierung

Das Protoc-Gen-Gorm-Projekt stand vor Herausforderungen mit Proto2 und Proto3-Kompatibilität.

Nachbearbeitungsskriptlösung

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.

Skriptausführung und Ergebnisse

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.

Fazit

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.

Neuestes Tutorial Mehr>

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