我在使用标准的Cordova WebSQL (使用MS OpenTech polyfill插件,但我不认为它实际上在iOS上使用)的iOS上遇到了配额障碍。
从WebSQL抛出错误,表明已超出配额。发生这种情况时,我会捕获错误并删除我的主表,然后从互联网上刷新它。
但是,当它达到配额限制时,它将不允许继续执行drop table语句,或者drop语句不会释放任何空间,因为配额错误仍然不断出现。有人知道为什么丢弃表不能释放空间吗?我还尝试了vacuum语句,它考虑了一段时间,但似乎也没有释放任何空间。
请注意,这是该领域的现有应用程序,因此除非需要,否则我倾向于不切换数据库平台。(我看到现在有一个插件(https://github.com/litehelpers/cordova-sqlite-ext),上面说它没有配额限制--这是最好的/唯一的解决方案吗?)
发布于 2016-05-20 16:08:51
我决定用插件https://github.com/litehelpers/cordova-sqlite-ext替换我的默认WebSQL
它进行得非常顺利。这个插件在我的SQL语句中不需要任何代码更改就可以换出!非常高兴!
我测试了向数据库添加几GB的数据,它执行得非常好,并且从来没有停止过接受数据。
顺便说一下,我在iOS上测试了limits的默认WebSQL,发现它在50MB的大小下死在了尖叫堆中。您不能从该点删除任何数据、删除或真空,因此您永远不能恢复。这是一个相当严重的bug!(这仍然是Cordova文档中的一个建议选项-它应该带有一个严重的警告)
https://stackoverflow.com/questions/36926579
复制相似问题