最近我陷入了一个巨大的问题,即如何在 Realm 中迁移内容。我终于解决了这个问题,所以我决定把它贴在stackoverflow上。请注意,Realm 很快就会升级他们的系统,因此答案可能很快就会过时。
该代码适用于 Realm 80.3。
最佳答案
这是我使用的代码:
try {
realm = Realm.getInstance(context, "database.realm");
Log.i("Database2", context.getFilesDir().getPath());
} catch (RealmMigrationNeededException ex) {
Realm.migrateRealmAtPath(context.getFileStreamPath("database.realm").getPath(), new RealmMigration() {
@Override
public long execute(Realm realm, long version) {
Log.i("Database", "Yay!");
// Migrate stuff...
Table table = realm.getTable(RealmTestObjectTwo.class);
table.addColumn(ColumnType.INTEGER, "key");
table.addColumn(ColumnType.STRING, "value");
table.setPrimaryKey("key");
version += 1;
// End Migrate Stuff...
return version;
}
});
}
让我着迷的是 Realm 希望您提供数据库文件的完整路径。
希望这篇文章能对某人有所帮助!
关于android - 如何在 Android 中迁移 Realm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30857419/