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.