RealmMigrationNeededException添加RealmList (Kotlin)
我想添加一个原始列表到现有的模型,但我得到一个exception。
注意:这一切都是Kotlin完成的。
这里是模型:
open class Foo( @PrimaryKey var id: Int = 0 ) : RealmObject()
现在我想添加下面的字段:
var idList: RealmList = RealmList()
这可能是一个空列表,所以我用一个空白的RealmList
(它用于非原始列表字段)初始化它。
我的迁移看起来像这样:
schema.get("Foo") ?.addRealmListField("idList", Int::class.java)
运行应用程序时,我得到一个RealmMigrationNeededException
:
由于以下错误,迁移是必需的:
– 属性’Foo.idList’已经被选中。
我可以通过添加@Required
到模型中的新字段来解决这个问题,但我不确定列表是否仍然可以为空/空。
将原始列表添加到模型的正确方法是什么?以及这是什么正确的迁移?
其实,你的迁移是正确的。 如果您不希望列表能够包含null
(因为它是一个RealmList
,其中Integer
可以为null),您应该添加@Required
注释。