我使用标准的Cordova WebSQL(使用MS OpenTech polyfill插件在iOS上遇到了配额障碍,但我认为它实际上并没有在iOS上使用它)。
WebSQL引发错误,指示超出配额。当发生这种情况时,我抓住错误并放下我的主表,然后从互联网上刷新它。
但是,当它达到配额限制时,它或者不允许drop table
语句继续,或者drop语句不会释放任何空间,因为配额错误仍然存在。有谁知道为什么放弃桌子不会有空间?我也尝试过vacuum
语句,它会思考一段时间,但似乎也不会释放任何空格。
请注意,这是该字段中的现有应用程序,因此除非我们需要,否则我不希望切换出数据库平台。 (我看到现在有一个插件可用(https://github.com/litehelpers/cordova-sqlite-ext),表示它没有配额限制 - 可能是最佳/唯一的解决方案吗?)
答案 0 :(得分:0)
我决定用插件https://github.com/litehelpers/cordova-sqlite-ext
替换我的默认WebSQL非常好。这个插件在我的SQL语句中没有进行任何代码更改而换掉了!非常高兴!
我测试过向数据库中添加了几GB的数据并且表现非常好,并且没有停止接受数据。
顺便说一下,我测试了iOS上的限制默认WebSQL,并发现它在50MB的尖叫堆中完全消失。您无法从该点删除任何数据,丢弃或抽真空,因此您永远无法恢复。这是一个非常严重的错误! (这仍然是Cordova文档中的一个选项 - 它应该带有严重的警告)