Base de datos SQLite en PhoneGap / iOS: más de 5 MB posibles

Estoy un poco confundido sobre las limitaciones de usar SQLite en una aplicación Phonegap-Native en iOS.

Puede leer muchas publicaciones sobre el límite de almacenamiento de 5 MB y el hecho de que su Ipad puede pedirle que aumente el almacenamiento.

Ahora he logrado insert casi 7000 filas en mi database SQLite, utilizando el Phonegap-Storage-API habitual. El file db correspondiente tiene un tamaño de 26 MB. Una siguiente instrucción de selección "select * from" funcionó y mostraba el contenido de la database. Lo he hecho en el simulador y en el dispositivo. No obtuve la pregunta para boost el almacenamiento.

¿Como puede ser? ¿Entiendo mal algo? ¿Realmente hay un límite de 5 MB para SQLbs dbs en Phonegap? Estoy usando Phonegap 1.2 y iOS 5.

Puede usar un SQLite DB nativo (igual que WebSQL) con un complemento de directory telefónico, y no tendrá ninguna limitación. En iOS5.1, WebSQL se considera como información temporal que se puede eliminar en cualquier momento … Ese complemento guarda la database en la carpeta Documento, lo que significa que iCloud no la elimina y la guarda.

Aquí está el plugin del file nativo SQLite: https://github.com/davibe/Phonegap-SQLitePlugin Con respecto a este complemento, hay algunas diferencias entre la API de WebSQL, aquí hay un adaptador: https://gist.github.com/2009518

También debe migrar el antiguo file db WebSQL (almacenado en el directory Library / WebKit o Caches) a la carpeta Document. Aquí hay un código para hacerlo: https://gist.github.com/2009491

Y si los datos son importantes, debe savelo en un server. Escribí una pequeña lib para sincronizar el SQlite DB con un server: https://github.com/orbitaloop/WebSqlSync

Me enteré por mi count:

Se logra abrir la primera transacción e insert los 7000 loggings a la vez en esa transacción única.

Si dividir las inserciones en transactions separadas, digamos 500 loggings por transacción, la limitación de 5 MB se verá afectada. PhoneGap no dice nada, simplemente no inserta los loggings.

El problema con el almacenamiento HTML5 en dispositivos, no le permitirá boost el tamaño. Eche un vistazo con esta solución:

Solucionado la limitación de tamaño de la database de iOS de 5 MB (usando el complemento)

Espero que esto te ayudará.

Aclamaciones