我需要使用领域数据库在一个应用程序中有两个不同的架构。似乎应该在解决方案下工作:
open class AModel : RealmObject() {
var a: Int = 0
}
open class BModel : RealmObject() {
var b: Int = 0
}
open class XModel : RealmObject() {
var x: Int = 0
}
open class YModel : RealmObject() {
var y: Int = 0
}
@RealmModule(classes = [AModel::class,BModel::class])
open class Schema1
val conf1 = new RealmConfiguration.Builder()
.name("db1.realm")
.schemaVersion(1)
.modules(Schema1())
.build();
@RealmModule(classes = [XModel::class,YModel::class])
open class Schema2
val conf2 = new RealmConfiguration.Builder()
.name("db2.realm")
.schemaVersion(2)
.modules(Schema2())
.build();
但是当应用程序启动并调用时Realm.setDefaultConfiguration(conf1)
,它会打印以下错误:
com.example.XModel is not part of the schema for this Realm
因此,我似乎错过了配置中的某些内容,但查看文档时我无法弄清楚是什么。那我想念什么?
问题是您将 的架构版本设置conf2
为第二个版本,但从未创建第一个版本。为此更改它:
...
val conf2 = new RealmConfiguration.Builder()
.name("db2.realm")
.schemaVersion(1)
.modules(Schema2())
.build();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句