我向 Go 结构添加了一个新属性,该属性保留在数据存储实体类型中。
我尝试使用新属性上的过滤器加载实体:
q := datastore.NewQuery("Person").Filter("Employed =", false)
这仅适用于添加新属性后创建的人员。
我曾预计在添加属性之前创建的人员会包含在过滤器中,但他们根本没有该属性,因此被过滤器排除在外。
我想了两种方法来处理这个问题:
首先加载所有实体并在第二步中使用循环进行过滤。这增加了代码的复杂性。
批量加载并重新保存所有实体,这会添加属性并将其设置为 false。每次添加新属性时,我都必须记住这样做。
有没有办法处理这些类型的实体模式更改?
慕村9548890
相关分类