【问题标题】:PouchDB not detecting sqlite plugin using cordovaPouchDB 未使用 cordova 检测 sqlite 插件
【发布时间】:2015-04-25 03:16:05
【问题描述】:

我最近使用PouchDB来获得一种通过手机进行开发的简单方法,但是当我尝试将它部署在手机上时似乎有点问题。您会看到,我们的数据将包含大量数据,因此这里唯一的选择是使用 sqlite 插件作为数据库而不是 websql 或 indexeddb。所以我尝试了文档提供的示例,它工作得很好。但是当我 console.log(pouch.adapter) 它说“websql”。我尝试使用 eclipse 浏览数据库,但那里什么也没有。 如何强制 pouchdb 始终使用 sqlite? 谢谢!

Tldr; 尝试使用 sqlite 插件部署 pouchDB,但它使用了 websql。试图强制 pouchDB 一直使用 sqlite。

【问题讨论】:

标签: android sqlite cordova pouchdb


【解决方案1】:

我在 Google Groups 中回复了,但基本上db.adapter 会报告“websql”,无论是使用 WebSQL 还是 SQLite 插件。有点混乱,抱歉!

更新:从 PouchDB 3.4.0 开始,您可以调用db.info().then(console.log.bind(console)) 并打印出数据库信息,它会报告sqlite_plugin 真或假。使调试更容易。 :)

【讨论】:

  • 在线程中你说“如果你看到在你的应用程序目录中创建了 *.db 文件,那么是的。:)”[验证你的适配器正在使用 sqlite]。您能否给出一个示例路径来指示您正在谈论的文件?我不确定在我的道路上要寻找什么。
  • 在 Android 上是 /data/data/com.company.appname/databases
  • @nlawson 嗨,我正在为我的应用程序使用 angularjs 和 cordova。我按以下顺序导入了 js 文件。科尔多瓦、ng-科尔多瓦、sqllite.js、pouchdb.js。不过,我得到了 sqlite_plugin:false。你有什么想法吗?
  • @yokks 我也有同样的问题(使用离子框架)。你解决了吗?
  • @JamesJ 嗨,我在截止日期前。现在,我搬到了科尔多瓦而不是 ng-cordova。我必须以后找到路。如果你找到了,请告诉我。
【解决方案2】:

其中一个最新版本有一个错误,pouchdb 没有使用 sqllite。 你可以在这里看到更多:https://github.com/pouchdb/pouchdb/issues/3505

【讨论】:

    【解决方案3】:

    确保你安装了这个插件

    cordova plugin add https://github.com/litehelpers/Cordova-sqlite-storage

    在你的 JS 脚本中使用它

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

    确保插件安装正确,并且您的 cordova 版本是 3.0+(适用于最新版本——我正在使用它)

    【讨论】:

    • 我需要使用 pouchdb 和 sqlite 插件。我有一个离子应用程序,安装了 pouchdb。我还从github.com/brodysoft/Cordova-SQLitePlugin 安装了cordova-sqlite-storage 插件。当我运行'db.info().then(console.log.bind(console))'时,它给了我** sqlite_plugin: false** 。我的 index.html 中文件包含的顺序是 ng-cordova.js、cordova.js、pouchdb.js。我们还需要包含 SQLite.js 吗?
    • 当然。确保插件已在 Cordova 中加载。检查 cordova_plugins.js 并确保已安装所有内容。检查clobber 对象并在控制台中写入变量的名称以确保它存在
    猜你喜欢
    • 2016-05-29
    • 2014-12-19
    • 2016-05-04
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多