Android 迁移到新版本的realm?

Android 迁移到新版本的realm?,android,realm,Android,Realm,在安卓系统中,我的领域版本是0.86。我试图升级到1.1.1,但后来它抛出了一个错误,说我需要一个领域迁移。有人知道如何从一个版本迁移到另一个版本吗?是否有一个更安全的版本可以升级到更容易实现?谢谢我们这里有迁移示例,您可以使用这些示例开始: 迁移一般记录在以下位置: 对于使用领域作为网络请求缓存机制的用例,这是一个简单的解决方案。只需将deleteRealMifMigrationRequired()添加到您的RealmConfiguration:这里有迁移示例,您可以使用这些示例开始: 迁移一

在安卓系统中,我的领域版本是0.86。我试图升级到1.1.1,但后来它抛出了一个错误,说我需要一个领域迁移。有人知道如何从一个版本迁移到另一个版本吗?是否有一个更安全的版本可以升级到更容易实现?谢谢

我们这里有迁移示例,您可以使用这些示例开始:

迁移一般记录在以下位置:


对于使用领域作为网络请求缓存机制的用例,这是一个简单的解决方案。只需将
deleteRealMifMigrationRequired()
添加到您的RealmConfiguration:

这里有迁移示例,您可以使用这些示例开始:

迁移一般记录在以下位置:


对于使用领域作为网络请求缓存机制的用例,这是一个简单的解决方案。只需将
deleteRealMifMigrationRequired()
添加到您的RealmConfiguration:

当您将Realm DB从任何旧版本升级到更新版本1.0.0+时,请执行以下操作: 如果我们默认运行该应用程序,则会出现迁移错误。然而,通过使用如下定义的迁移,我们可以解决这个问题

在应用程序类中定义领域应用程序实例,如下所示:

public class MainApplication extends Application {
@Override
public void onCreate() {
    super.onCreate();
    Fabric.with(this, new Crashlytics());

    VolleyHelper.init(this);

    // The Realm file will be located in Context.getFilesDir() with name "default.realm"
    RealmConfiguration config = new RealmConfiguration.Builder(this)
            .schemaVersion(1)
            .migration(new MyMigration())
            .build();
    Realm.setDefaultConfiguration(config);
}}
如果不更改数据库结构,只升级领域版本,则定义迁移类,如下所示。如果要更改数据库结构,则必须在MyMigration类下定义。您可以从这里获得更多迁移信息


当您将Realm DB从任何旧版本升级到更新版本1.0.0+时 如果我们默认运行该应用程序,则会出现迁移错误。然而,通过使用如下定义的迁移,我们可以解决这个问题

在应用程序类中定义领域应用程序实例,如下所示:

public class MainApplication extends Application {
@Override
public void onCreate() {
    super.onCreate();
    Fabric.with(this, new Crashlytics());

    VolleyHelper.init(this);

    // The Realm file will be located in Context.getFilesDir() with name "default.realm"
    RealmConfiguration config = new RealmConfiguration.Builder(this)
            .schemaVersion(1)
            .migration(new MyMigration())
            .build();
    Realm.setDefaultConfiguration(config);
}}
如果不更改数据库结构,只升级领域版本,则定义迁移类,如下所示。如果要更改数据库结构,则必须在MyMigration类下定义。您可以从这里获得更多迁移信息


其他人已经链接了示例迁移和,所以我只告诉您,您正在运行


因此,如果您想避免在这种情况下使用迁移,只需在
@PrimaryKey
字段中指定
@Required

其他人已经链接了示例迁移,因此我只需告诉您,您正在运行


因此,如果您想避免在这种情况下使用迁移,只需在
@PrimaryKey
字段中指定
@Required

他需要迁移,因为
@PrimaryKey
在0.89.0中变为可空。他需要迁移,因为
@PrimaryKey
在0.89.0中变为可空
@PrimaryKey field value can now be null for String, Byte, Short, Integer, and Long types. 
Older Realms should be migrated, using RealmObjectSchema.setNullable(), 
or by adding the @Required annotation. (#2515).