PouchDB无法检测到使用cordova的sqlite插件

3
我最近使用了PouchDB来轻松地通过手机进行开发,但是在我尝试将其部署到手机上时似乎出现了一些问题。你看,我们的数据将包含大量数据,因此这里唯一的选择是使用sqlite插件来替代websql或indexeddb数据库。所以我尝试了文档中提供的示例,并且它运行得很好。但是当我console.log(pouch.adapter)时,它显示“websql”。我尝试使用eclipse浏览数据库,但什么也没有。如何强制pouchdb始终使用sqlite?谢谢!
简而言之,尝试使用sqlite插件部署pouchDB,但它使用的是websql。想要强制pouchDB始终使用sqlite。

你尝试过直接向开发人员询问吗?https://groups.google.com/forum/#!forum/pouchdb - locknies
3个回答

3
我在Google Groups中回答了这个问题,但是基本上无论是使用WebSQL还是SQLite插件,db.adapter都会报告"websql"。有点令人困惑,对此感到抱歉!
更新:从PouchDB 3.4.0开始,您可以调用db.info().then(console.log.bind(console))并打印数据库信息,它将报告sqlite_plugin是true还是false。这使得调试变得更加容易。 :)

在该线程中,您说:“如果您在应用程序目录内看到创建了*.db文件,那么是的。:)” [这证实了您的适配器正在使用sqlite]。您能否给出一个示例路径,指示您所讨论的文件?我不确定在我的路径中要查找什么。 - chrishiestand
在Android上,它是/data/data/com.company.appname/databases。 - nlawson
@yokks 我也遇到了同样的问题(使用ionic框架)。你解决了吗? - Jimothey
@JamesJ 你好,我现在正在赶工期。我刚刚转向使用Cordova而不是ng-cordova,但我稍后会找到解决方法的。如果你找到了,请务必告诉我。 - yokks
Cordova 可能没有暴露 window.sqlitePlugin,这是 PouchDB 正在寻找的。只是一个猜测。 - nlawson
显示剩余8条评论

0

-1

请确保安装了此插件

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

然后在您的JS脚本中使用它

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

确保插件已正确安装并且您的cordova版本为3.0+(与最新版本兼容--我正在使用它)


我的需求是使用带有SQLite插件的PouchDB。我有一个Ionic应用程序,已安装了PouchDB。我还从https://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吗? - Priya Saini
当然。确保插件已在Cordova中加载。检查cordova_plugins.js并确保所有内容都已安装。检查“clobber”对象,并将变量名称写入控制台以确保存在。 - Pian0_M4n

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接