Borre los datos de una base de datos sqlite de forma programática mediante la biblioteca ormlite
Buscaba un método para borrar todos los datos de una base de datos ormlite o borrar la base de datos (y luego volver a crearla) con ormlite en android.
En este momento, sólo puedo cambiar la DATABASE_VERSION de DatabaseHelper.
- Ordenar por atributo de entidad extranjera en ORMLite
- Creación de restricciones de clave externa en ORMLite en SQLite
- Problemas con OrmLite y obfuscation proguard
- ORMLITE ORDER_BY con varias columnas
- Android y OrmLite: falla de OnUpgrade
Pero tengo que compilar la aplicación.
¿Alguien conoce un método para manejar ese caso?
- Relación uno-a-muchos en ORMLite Android
- Consulta de ORMLite con cotización, Android
- Rendimiento de ORMLite: ArrayAdapter vs CursorAdapter vs un adaptador personalizado
- Rendimiento ORM: ¿es greenDAO más rápido que ORMLite?
- CREOOrUpdate de ORMLite parece lento - ¿cuál es la velocidad normal?
- ¿Dónde encuentro el ApplicationContext necesario para inicializar ORMLite?
- ORMLite JOINs o mapeo automático de rawQuery
- Cómo eliminar un registro de ORMLITE?
@ La respuesta de Julia funcionará bien. ORMLite también admite una llamada al método TableUtils.clearTable()
que elimina todas las filas de una tabla:
Eso no borrará una base de datos, pero puede borrar cada tabla a su vez. Algo como lo siguiente:
TableUtils.clearTable (getConnectionSource (), YourClassHere.class);
Editar:
@ Max4ever señaló que context.deleteDatabase (…) es mucho más rápido que otras formas de borrar una base de datos. Pero esta llamada eliminará las definiciones de tabla mientras TableUtils.clearTable(...)
deja el esquema intacto.
Puedes llamar
context.deleteDatabase(DATABASE_NAME);
En su clase DatabaseHelper
que extiende OrmLiteSqliteOpenHelper
. context
se pasa a la clase DatabaseHelper
en el constructor.
La próxima vez que se necesite la base de datos, se
@Override public void onCreate(SQLiteDatabase sqliteDatabase, ConnectionSource connectionSource)
se llama.
Para eliminar la base de datos utilice estos comandos:
this.connectionSource.close(); context.deleteDatabase(DATABASE_NAME);
Para recrear / abrir la base de datos actual utilice estos comandos:
SQLiteDatabase db = context.openOrCreateDatabase(DATABASE_NAME, 0, null); this.connectionSource = new AndroidConnectionSource(db);
Tendrá que mantener una referencia al contexto en su ayudante de base de datos.