使用 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()
因为它引用了一个列表而不是单个对象。
我想在我的数据库中添加一个引用另一个新模式的新模式。
以下是模型:
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()
因为它引用了一个列表而不是单个对象。