我在我的应用程序引擎数据存储中有一个实体。实际上只有一个实体。我可以在我的管理控制台中看到它。是否可以通过管理控制台(使用gql)向实体添加新属性?将新属性添加到数据存储中的实体?
现在它看起来像:
Entity: Foo
Attributes: mName, mAge, mScore
,我想一个新的布尔属性添加到这个实体,如“mGraduated”或类似的东西。
在最坏的情况下,我可以写一些代码来删除实体然后保存一个新的,但是,是只是想知道。
感谢
-------- ---------更新
试图从数据库中添加我的新属性添加到我的类(使用Java),并在加载得到如下:
java.lang.NullPointerException:
Datastore entity with kind Foo and key Foo(\"Foo\") has a null property named mGraduated.
This property is mapped to com.me.types.Foo.mGraduated, which cannot accept null values.
这是我的实体类是什么样子,我刚刚添加的新属性(mGraduated),再部署,再试图从数据库加载单个实体(其产生上述除外):
@PersistenceCapable
public class Foo
{
@PrimaryKey
private String k;
/** Some old attributes, look like the following. */
@Persistent
@Extension(vendorName = "datanucleus", key = "gae.unindexed", value="true")
private String mName;
...
/** Tried adding the new one. */
@Persistent
@Extension(vendorName = "datanucleus", key = "gae.unindexed", value="true")
private boolean mGraduated;
嗨,是的,我认为我记得在过去曾经这样做过,但是现在当我用新定义加载时,它似乎正在抛出异常。更新了上面的问题并提供了更多详细信息,看起来好吗?谢谢 – user291701