gpt4 book ai didi

android - 更新 Realm 数据库版本

转载 作者:太空宇宙 更新时间:2023-11-03 13:52:32 33 4
gpt4 key购买 nike

我在当前的 android 项目中使用 Realm ,版本 0.79.0。现在我想将 Realm 版本更新为 0.84.0 并且还想在 Application 类中使用 RealmConfiguration 来使用 Realm.getDefaultInstance() 而不是Realm.getInstance(context) 用于 Realm 初始化。

我实现了新的 Realm 版本并更改了必要的配置。但是当我运行我的应用程序时,它崩溃并显示错误

Realm Migration must be provided

以为我没有更改任何模型类。

谁能告诉我如何在不进行任何迁移的情况下使用 Android 的默认配置更改 Realm 版本?如果没有迁移就不可能,那么迁移类会是什么样的?

最佳答案

您需要迁移,因为我们在 0.83.0 中引入了对 null 值的支持。您可以在此处阅读有关如何迁移的更多信息:https://realm.io/news/realm-java-0.83.0/

但是您需要添加一个如下所示的迁移:

RealmMigration migration = new RealmMigration() {
@Override
public long execute(Realm realm, long version) {
Table table = realm.getTable(Dog.class);
// Needed for all Strings
table.convertColumnToNullable(table.getColumnIndex("name"));
return 1;
}
};

RealmConfiguration realmConfig = new RealmConfiguration.Builder(getContext())
.schemaVersion(1)
.migration(migration)
.build();

关于android - 更新 Realm 数据库版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33386579/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com