如何设置可以为空的领域对象

时间:2016-08-25 04:16:48

标签: realm realm-migration

我将迁移添加到了我的项目中。经过大量的工作,我让它独立工作。尝试更新时,我收到错误

@PrimaryKey field 'id' does not support null values in the existing Realm file. Migrate using RealmObjectSchema.setNullable(), or mark the field as @Required

这不适用于我添加的对象中的值功能。任何人都可以详细说明这个或链接到如何做到这一点的文档?我找不到任何东西

这是变量

   @PrimaryKey
private String id;

编辑:可能已经通过

解决了这个问题
schema.get("Log").setNullable("id", true);

1 个答案:

答案 0 :(得分:4)

如果您更新了较旧的代码库,那么您就会遇到breaking change from 0.89.0 @PrimaryKey带注释的字段变为可空(并且null可以使用@PrimaryKey作为1个元素的主键。)

因此,如果您不希望@Required带注释的字段可以为空,那么您也应该添加RealmObjectSchema yourClassSchema = schema.get("YourClass"); yourClassSchema.setNullable("id", true); 注释。

否则,您应该添加到迁移中:

my_config = {
    "text": """first line
second line"""
}

print my_config