Cuando se encuentre con este mensaje por primera vez, lo más probable es que esté trabajando con una versión inédita de la base de datos. Si ese es el caso, lo más probable es que no deba incrementar la versión de la base de datos . Con solo borrar los datos de la aplicación, pasará la excepción.
Si no incrementa la base de datos (recomendado):
Debe borrar los datos de la aplicación de la aplicación de la configuración de Android. Alternativamente, podría desinstalar la versión anterior de la aplicación y luego instalar la nueva versión para pasar la excepción. Este último enfoque no funciona bajo ciertas condiciones (como cuando la opción Permitir copia de seguridad está habilitada)
Dado que la limpieza de los datos de la aplicación siempre funciona, siempre tomo esa ruta.
Si incrementa la versión de la base de datos:
Deberá escribir el código de migración de la base de datos para tener en cuenta los cambios en el esquema de la base de datos. Consulte aquí para obtener información sobre la migración.
Una alternativa a escribir el código de migración de la base de datos es llamar fallbackToDestructiveMigration
al generador de base de datos de Room. Probablemente no sea una buena idea. Olvidar eliminar esta llamada y luego olvidar actualizar la base de datos resultará en la pérdida de datos.
// Using this fallback is almost certainly a bad idea
Database database = Room.databaseBuilder(context, Database.class, DATABASE_NAME)
.fallbackToDestructiveMigration()
.build();
Nuevamente, no es necesario incrementar la versión de la base de datos ni recurrir a la migración destructiva si el esquema de base de datos anterior no está activo .