При интеграции полей gorm.Model в определения protobuf возникают проблемы из-за отсутствия поддержки datetime в proto3. В этой статье рассматриваются решения этой проблемы.
CreatedAt, UpdatedAt: Используйте google.protobuf.Timestamp с параметром gogoproto.stdtime.
DeletedAt: Обработайте его как непрозрачное поле метки времени с функцией преобразования.
Проект protoc-gen-gorm столкнулся с проблемами с proto2 и совместимость с proto3.
Для интеграции полей gorm.Model после создания файла go можно использовать сценарий постобработки, такой как gorm.sh. Этот сценарий может обновить сгенерированный код, включив в него аннотации, специфичные для GORM.
Выполните сценарий с помощью ./gorm.sh file.pb.go на сгенерированном pb.go файл. Скрипт добавит аннотации для идентификатора, имени и т. д., позволяя GORM правильно взаимодействовать с полями модели.
Интеграция gorm.Model требует дополнительной обработки полей даты и времени и настраиваемой генерации кода. или постобработка. Следуя этим шагам, разработчики могут успешно интегрировать поля GORM в свои определения прототипов.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3