Pregunta

He añadido una tabla a una base de datos que utiliza mi aplicación y escribió algo de código para trabajar con esa tabla. Todo funcionaba bien para mi en mi teléfono y en el emulador, así que envié a la actualización en el mercado.

Esto causa que yo reciba un buen número de seguimientos de pila en la causa por los desarrolladores de la consola

android.database.sqlite.SQLiteException: no such table: flag

(bandera es la nueva tabla).

Esto me llevó a preguntarme, bases de datos se eliminan cuando se actualiza la aplicación? Actualmente en mi solicitud estoy mirando para ver si existe la base de datos, y si lo hace, entonces no volver a crearla.

Yo no coger esto antes de que envié la actualización porque he desinstalado la aplicación antes de subir la versión de depuración.

Desde entonces, he lanzado una actualización rápida que tiene unos bloques catch try alrededor de todos los accesos a la nueva tabla (que debería haber estado allí en el primer lugar, lo sé, lo sé).

¿Fue útil?

Solución

no se borran

Los datos de usuario, incluyendo bases de datos.

Su DB tiene un número de versión. Cuando se actualiza la aplicación, se avanza el número de versión para que pueda detectar un presente "viejo" DB.

Esto puede ser usado para activar una rutina de migración. En su caso, debería haber añadido nueva tabla a la base de datos.

Otros consejos

SQLiteOpenHelper es la respuesta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top