Saltar al contenido

¿Cómo hacer una migración de Realm en Android?

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *