RealmMigrationNeededException при добавлении новой схемы с помощью addRealmObjectField - PullRequest
0 голосов
/ 07 февраля 2019

Я хочу добавить новую схему в мою БД, ссылаясь на другую новую схему.

Вот модели:

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>'.

Поскольку это обе новые модели, я не знаю, почему это говорит мне, что что-то «было изменено».

Как правильно добавить эти две модели?

1 Ответ

0 голосов
/ 07 февраля 2019

Понял.Мне нужно использовать addRealmListField() вместо addRealmObjectField(), потому что он ссылается на список, а не на один объект.

...