我在 Google Cloud Datastore 中添加了一些新列,Golang 中的新架构正在读取它。现在,如果由于某些新列不存在的问题,我想将二进制文件回滚到旧模式,那么理想的策略是什么?我有两个选择:当我想回滚时,编写一个脚本从 GDS 中删除新列添加一种标志类型的功能以禁用新列,以便该类型适用于旧模式。我不确定这个解决方案是否存在。哪个是理想的,如何实现?
1 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
我能够想出一个omitempty
可以在这些情况下提供帮助的变量。我在它的解释上找到了一个很好的博客 - https://www.sohamkamani.com/golang/omitempty/。
如果我在 DB 中存储一个默认为零值的列,那么 omitempty 在读取 json 时不会读取它。通过这种方式,我将能够将相同的 golang 模式与多个 DB 模式一起使用。
type User struct { ID string `json:"Id" datastore:"Id"` }
- 1 回答
- 0 关注
- 133 浏览
添加回答
举报
0/150
提交
取消