Cordova应用程序使用WebSQL命中限制并无法恢复

时间:2016-04-28 22:30:24

标签: ios sqlite cordova phonegap-plugins web-sql

我使用标准的Cordova WebSQL(使用MS OpenTech polyfill插件在iOS上遇到了配额障碍,但我认为它实际上并没有在iOS上使用它)。

WebSQL引发错误,指示超出配额。当发生这种情况时,我抓住错误并放下我的主表,然后从互联网上刷新它。

但是,当它达到配额限制时,它或者不允许drop table语句继续,或者drop语句不会释放任何空间,因为配额错误仍然存​​在。有谁知道为什么放弃桌子不会有空间?我也尝试过vacuum语句,它会思考一段时间,但似乎也不会释放任何空格。

请注意,这是该字段中的现有应用程序,因此除非我们需要,否则我不希望切换出数据库平台。 (我看到现在有一​​个插件可用(https://github.com/litehelpers/cordova-sqlite-ext),表示它没有配额限制 - 可能是最佳/唯一的解决方案吗?)

1 个答案:

答案 0 :(得分:0)

我决定用插件https://github.com/litehelpers/cordova-sqlite-ext

替换我的默认WebSQL

非常好。这个插件在我的SQL语句中没有进行任何代码更改而换掉了!非常高兴!

我测试过向数据库中添加了几GB的数据并且表现非常好,并且没有停止接受数据。

顺便说一下,我测试了iOS上的限制默认WebSQL,并发现它在50MB的尖叫堆中完全消失。您无法从该点删除任何数据,丢弃或抽真空,因此您永远无法恢复。这是一个非常严重的错误! (这仍然是Cordova文档中的一个选项 - 它应该带有严重的警告)