我需要使用领域数据库在一个应用程序中具有两个不同的架构。 似乎应该在解决方案下工作:
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
因此,我似乎错过了配置方面的内容,但查看文档我不知道是什么。那我想念什么?
答案 0 :(得分:0)
问题是您将conf2
的架构版本设置为第二个版本,但是从未创建第一个版本。为此进行更改:
...
val conf2 = new RealmConfiguration.Builder()
.name("db2.realm")
.schemaVersion(1)
.modules(Schema2())
.build();