io.realm
The RealmMigration class is used to perform the migration of one Realm schema to another. The schema for a Realm is defined by all classes in a project that extend io.realm.RealmObject or implement io.realm.RealmModel , so any changes to these classes will require a migration.
Para admitir migraciones de cualquier versión de esquema anterior a la más reciente, se recomienda el siguiente patrón al escribir una migración:
public class CustomMigration implements RealmMigration { public long migrate(DynamicRealm realm, long oldVersion, long newVersion) { RealmSchema schema = realm.getSchema(); if (oldVersion == 0) { // Migrate from v0 to v1 oldVersion++; } if (oldVersion == 1) { // Migrate from v1 to v2 oldVersion++; } if (oldVersion < newVersion) { throw new IllegalStateException(String.format(Locale.US, "Migration missing from v%d to v%d", oldVersion, newVersion)); } } }
Durante el desarrollo, cuando las clases de RealmObject pueden cambiar con frecuencia, es posible utilizar io.realm.Realm.deleteRealm(RealmConfiguration) . Esto eliminará el archivo de la base de datos y eliminará la necesidad de cualquier migración.
Resumen del método
Modificador y Tipo | Método y descripción |
|---|---|
public void | This method will be called if a migration is needed. |
Detalle del método
emigrar
Este método se llamará si se necesita una migración. El método completo está envuelto en una transacción de escritura, por lo que es posible crear, actualizar o borrar cualquier objeto existente sin encapsularlo en tu propia transacción. Parámetros
|