使用 addRealmObjectField 添加新模式时出现 RealmMigrationNeededException

RealmMigrationNeededException when adding new schema with addRealmObjectField

我想在我的数据库中添加一个引用另一个新模式的新模式。

以下是模型:

open class Code(
    var name: String? = null,
    var code: String? = null
) : RealmObject()

open class Foo(
    var codes: RealmList<Code> = RealmList()
) : RealmObject()

迁移:

val codeSchema = schema.create("Code")
        .addField("name", String::class.java)
        .addField("code", String::class.java)

schema.create("Foo")
    .addRealmObjectField("codes", codeSchema)

但这会因以下错误而崩溃:

io.realm.exceptions.RealmMigrationNeededException: Migration is required due to the following errors:
    - Property 'Foo.codes' has been changed from '<Code>' to 'array<Code>'.

因为这两个都是型号,我不知道为什么它告诉我一些东西"has been changed"。

如何正确添加这两个模型?

知道了。我需要使用 addRealmListField() 而不是 addRealmObjectField() 因为它引用了一个列表而不是单个对象。