Solución:
Las migraciones le permiten modificar el esquema de la aplicación, lo que significa que le permite agregar, eliminar, renombrar tablas / campos en el esquema de Realm. Si cambia una clase RealmModel, debe escribir la migración que mapeará el archivo Realm existente para reflejar las nuevas clases del modelo.
RealmConfiguration config = new RealmConfiguration.Builder()
.schemaVersion(1)
.migration(new MyMigration())
.build();
Realm.setDefaultConfiguration(config);
La versión de esquema predeterminada es 0.
Las migraciones son bastante sencillas:
-
debe incrementar la versión del esquema, para que Realm sepa que desea incrementar la versión del esquema a un número específico
-
debe proporcionar una migración que manejará el cambio de una versión a otra
Las migraciones describen las operaciones que se deben realizar cuando necesita pasar de una versión de esquema a otra:
public class MyMigration implements RealmMigration {
@Override
public void migrate(final DynamicRealm realm, long oldVersion, long newVersion) {
RealmSchema schema = realm.getSchema();
// Migrate from version 0 to version 1
if (oldVersion == 0) {
RealmObjectSchema userSchema = schema.get("User");
userSchema.addField("testRealm", String.class);
oldVersion++;
}
if (oldVersion == 1) { // ...
// ...
}
}
@Override
public int hashCode() { return MyMigration.class.hashCode(); }
@Override
public boolean equals(Object object) { return object != null && object instanceof MyMigration; }
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)