Lors de l'intégration des champs gorm.Model de gorm dans les définitions de protobuf, des défis surviennent en raison du manque de prise en charge datetime dans proto3. Cet article explore les solutions à ce problème.
CreatedAt, UpdatedAt : Utilisez google.protobuf.Timestamp avec l'option gogoproto.stdtime.
DeletedAt : Gérez-le comme un champ d'horodatage opaque avec une fonction de conversion.
Le projet protoc-gen-gorm a été confronté à des défis avec proto2 et compatibilité proto3.
Pour intégrer les champs gorm.Model, un script de post-traitement comme gorm.sh peut être utilisé après la génération du fichier go. Ce script peut mettre à jour le code généré pour inclure des annotations spécifiques à GORM.
Exécutez le script avec ./gorm.sh file.pb.go sur le pb.go généré déposer. Le script ajoutera des annotations pour l'identifiant, le nom, etc., permettant à GORM d'interagir correctement avec les champs du modèle.
L'intégration de gorm.Model nécessite une gestion supplémentaire des champs datetime et une génération de code personnalisé ou post-traitement. En suivant ces étapes, les développeurs peuvent intégrer avec succès les champs GORM dans leurs définitions de proto.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!