tutorial - sqlite in ionic 2
Problema del complemento Ionic PouchDb Sqlite (1)
Estamos explorando seriamente Ionic, PouchDb y CouchDb como una solución a uno de nuestros requisitos donde necesitamos construir una aplicación móvil que pueda proporcionar funcionalidad de sincronización fuera de línea y también ser independiente de la plataforma.
Uno de los otros requisitos principales que tenemos, que los datos en modo fuera de línea serían de naturaleza persistente y pueden crecer más de 500 MB, y dado que PouchDb usará adaptadores IndexedDB / WebSQL, etc. para almacenar datos en modo fuera de línea, tiene ciertas limitación de tamaño en la plataforma móvil y web y también los datos no son de naturaleza persistente.
Luego me encontré con este artículo en el sitio pouchdb en sí:
Donde puede usar el complemento SQLite para Cordova y puede escribir algo como:
Para obligar a PouchDb a usar el complemento SQLite.
var db = new PouchDB(''myDB'', {adapter: ''websql''});
Pero cuando pruebo el código usando el código siguiente para verificar si el adaptador WebSql está usando el complemento SQLite o no, tanto en Android (depuración remota de Chrome) como en la plataforma web.
db.info().then(console.log.bind(console));
El sqlite_plugin siempre devuelve falso y tampoco crea ningún archivo .db. Aunque PouchDb y CouchDb Sync funcionan bien.
Object {doc_count: 5, update_seq: 42, sqlite_plugin: false, websql_encoding: "UTF-8", db_name: "birthdays"…}
1. adapter: "websql"
2. auto_compaction: false
3. db_name: "testDb"
4. doc_count: 5
5. sqlite_plugin: false
6. update_seq: 42
7. websql_encoding: "UTF-8"
8. __proto__: Object
And also it mentioned
El complemento SQLite no pasa actualmente el conjunto de pruebas PouchDB. También tiende a ser más lento que IndexedDB directo / WebSQL. Recomendamos evitar el complemento de SQLite, a menos que esté llegando al límite de almacenamiento de 50 MB en iOS o requiera acceso nativo o precargado a los archivos de la base de datos.
He utilizado el siguiente comando para instalar el complemento SQLite:
cordova plugin add https://github.com/brodysoft/Cordova-SQLitePlugin.git
Aquí está la información de la versión de Ionic: haga clic para ver la información de la versión de Ionic que estoy utilizando actualmente.
Versión de PouchDB: 5.2.0
Agradecería mucho si alguien puede ayudarme a resolver este problema. Gracias por adelantado.
Hay una demostración de una aplicación de Cordova usando PouchDB y el complemento SQLite . Lo más probable es que solo deba asegurarse de que SQLite Plugin <script>
esté cargado antes de PouchDB <script>
.
Dicho esto, si los datos de su aplicación son realmente de 500 MB (¡medio GB!), Recomendaría no usar PouchDB. Especialmente si no está utilizando sincronización, entonces PouchDB tiene demasiada sobrecarga con la estructura de revisión y se ejecutará lentamente.
Probablemente sea mejor utilizar directamente el complemento SQLite. ¡Espero que ayude!