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注释。