proto-gae is a simple go generate
-compatible tool for generating “go.chromium.org/luci/gae/service/datastore”.PropertyConverter implementation for protoc
-generated message types. This allows you to embed proto.Message
implementations into your datastore models.
The generated implementations serialize to/from the binary protobuf format into an unindexed []byte property.
syntax = "proto3"; package protos; message MyProtoThing { my string = 1; proto int64 = 1; thing float = 1; }
package protos // assume go.chromium.org/luci/tools/cmd/cproto is in $PATH. Try it, it's // awesome :). //go:generate cproto //go:generate proto-gae -type MyProtoThing
package mything import "path/to/package/protos" type DatastoreModel struct { // This will now 'just work'; ProtoMessage will round-trip to datastore as // []byte. ProtoMessage protos.MyProtoThing }