Realm y las migraciones forzosas

Se ha dado la incidencia de que en algunos dispositivos físicos, una versión de la base de datos Realm de una aplicación se ha mantenido al desinstalarla. De este modo, al volver a instalar la aplicación, si la base de datos tiene algún elemento nuevo o modifica en algo a la anteriormente creada, no llega a poder usarse.

El problema lo he solucionado controlando las versiones del Schema de la base de datos y la dirección donde se guarda mediante el siguiente objeto:

const databaseOptions = {
path: ‘NameAndVersion.realm’,
schema: [array de schemas],
schemaVersion: 1,
migration:(oldRealm, newRealm) => {}
};
De forma que lo utilizamos cada vez que abramos Realm:
Realm.open(databaseOptions).then((realm) => {…})
De este modo controlamos la dirección de la base de datos y podemos renombrarla en caso de reinstalación de la aplicación, teniendo en cuenta una posible migración de la base de datos anterior.

Dejar un comentario

Tu dirección de correo electrónico no será publicada.