Realm.getInstance(context) 迁移后不再工作
Realm.getInstance(context) not working anymore after Migration
迁移后,我不能再使用 Realm.getInstance(context);
错误:java.lang.IllegalArgumentException: Configurations cannot have different schema versions if used to open the same file. 1 vs. 0
我看到我必须使用之前创建的配置来进行迁移
RealmConfiguration config1 = new RealmConfiguration.Builder(this)
.schemaVersion(1)
.migration(new Migration())
.build();
现在我必须在所有使用
的地方重新创建 config1
Realm.getInstance(context);
我过去常常为每个方法添加这个以避免任何类型的 null
public List<CustomClass> getAll() {
realm = Realm.getInstance(context);
....
}
public CustomClass getOneById(int id) {
realm = Realm.getInstance(context);
...
}
有时在 DAO class 之外我动态更改数据库我使用这个:
Realm.getInstance(context).beginTransaction();
change object
Realm.getInstance(context).commitTransaction();
现在我必须到处创建这个 CONFIG1 (RealmConfiguration) 吗?或者还有其他方法吗?
我尝试将此 Realm.setDefaultConfiguration(CONFIG1);
添加到 MainClass 但没有成功 =/
我在为每个方法调用 getInstance 的领域对象上检查或避免 null 是错误的吗?
使用Realm.setDefaultConfiguration(CONFIG1);
设置默认配置:
并使用 Realm.getDefaultInstance();
获取默认领域实例。
迁移后,我不能再使用 Realm.getInstance(context);
错误:java.lang.IllegalArgumentException: Configurations cannot have different schema versions if used to open the same file. 1 vs. 0
我看到我必须使用之前创建的配置来进行迁移
RealmConfiguration config1 = new RealmConfiguration.Builder(this)
.schemaVersion(1)
.migration(new Migration())
.build();
现在我必须在所有使用
的地方重新创建 config1Realm.getInstance(context);
我过去常常为每个方法添加这个以避免任何类型的 null
public List<CustomClass> getAll() {
realm = Realm.getInstance(context);
....
}
public CustomClass getOneById(int id) {
realm = Realm.getInstance(context);
...
}
有时在 DAO class 之外我动态更改数据库我使用这个:
Realm.getInstance(context).beginTransaction();
change object
Realm.getInstance(context).commitTransaction();
现在我必须到处创建这个 CONFIG1 (RealmConfiguration) 吗?或者还有其他方法吗?
我尝试将此 Realm.setDefaultConfiguration(CONFIG1);
添加到 MainClass 但没有成功 =/
我在为每个方法调用 getInstance 的领域对象上检查或避免 null 是错误的吗?
使用Realm.setDefaultConfiguration(CONFIG1);
设置默认配置:
并使用 Realm.getDefaultInstance();
获取默认领域实例。