2016-01-27 6 views
3

Мы серьезно изучаем Ionic, PouchDb и CouchDb как решение одного из наших требований, когда нам нужно создать мобильное приложение, которое может обеспечивать автономную синхронизацию, а также быть агностикой платформы.Ionic PouchDb Sqlite plugin issue

Одним из других важных требований, которые мы имеем к тому, что данные в автономном режиме будут сохраняться в природе и могут вырасти более 500 МБ, а так как PouchDb будет использовать адаптеры IndexedDB/WebSQL и т. Д. Для хранения данных в автономном режиме , он имеет определенное ограничение по размеру в мобильной и веб-платформе, а также данные не сохраняются в природе.

Потом я наткнулся на эту статью в самом pouchdb сайте:

http://pouchdb.com/adapters.html

Где вы можете использовать SQLite плагин для Кордовы, и вы можете написать что-то вроде:

Чтобы заставить PouchDb использовать плагин SQLite.

var db = new PouchDB('myDB', {adapter: 'websql'}); 

Но когда я проверить код, используя следующий код, чтобы проверить, является ли WebSQL адаптер с помощью SQLite плагин или нет, как в Android (хром удаленной отладки) и веб-платформы.

db.info().then(console.log.bind(console)); 

sqlite_plugin всегда возвращается ложный, а также она не создает каких-либо .DB файлов. Хотя синхронизация PouchDb и CouchDb работает нормально.

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 

SQLite плагин не в настоящее время проходит набор тестов PouchDB. Он также имеет тенденцию быть медленнее, чем прямой IndexedDB/WebSQL. Мы рекомендуем избежать плагинов SQLite, если вы не нажмете ограничение на 50 Мбайт в iOS или вам нужен собственный или предварительно загруженный доступ к базе данных файлов.

Я использовал следующие команды для установки SQLite плагина:

cordova plugin add https://github.com/brodysoft/Cordova-SQLitePlugin.git 

Вот Ионная Информация о версии: Click to see the Ionic version information currently using by me.

PouchDB версия: 5.2.0

Я очень ценю если кто-то может помочь мне решить эту проблему. Заранее спасибо.

+0

Я также получаю ту же ошибку. Вы разрешили это? – yokks

ответ

1

Есть демо a Cordova app using PouchDB and the SQLite Plugin. Скорее всего, вам просто нужно убедиться, что SQLite Plugin <script> загружен до PouchDB <script>.

Это, если ваши данные приложения серьезно 500 МБ (половина ГБ!), Я бы рекомендовал против использования PouchDB. Особенно, если вы не используете синхронизацию, тогда у PouchDB слишком много накладных расходов на структуру ревизий и будет работать медленно.

Возможно, вам лучше использовать SQLite Plugin. Надеюсь, это поможет!

+0

Большое спасибо за ваше предложение и помощь! – Raj