The*_*chu 2 database google-app-engine go data-structures google-cloud-datastore
假设我首先将此结构保存到数据存储中:
type Foo struct {
Important string
NotImportant string
}
Run Code Online (Sandbox Code Playgroud)
但后来我决定我不再关心它NotImportant了,想停止支持它。问题是,我的数据存储已经填充了数据,我不能只是删除它并用更新的结构替换整个数据库。我知道可以创建自定义的 Load 和 Save 方法,例如Load(c <-chan datastore.Property) error {,但这需要在大型结构上付出很多努力。
是否有一些简单的方法可以告诉 Google App Engine Go 数据存储区在保存时忽略某些变量,而不是抱怨我正在加载数据的结构没有我不再关心的变量?
你可以这样做
if err != nil && err != err.(*datastore.ErrFieldMismatch) {
}
Run Code Online (Sandbox Code Playgroud)