我有一个使用Dexie的应用程序。升级到iOS 10.3后,按键查找无法正常工作。(实际上是indexeddb的问题,不仅仅是Dexie的问题)我还在震惊中,但是我已经通过db.table.each(function(p) {})确认数据存在,并且用于键的字段也存在且正确。但是如果我执行 db.table.get(primarykey, function(p) {} 或者 db.table.where("somekey").equals(nonprimarykey).first(function(p) {} 则p为未定义。
我尝试做.db.table.each,然后将每个检索到的对象放回以查看它是否会重建键,在Firefox中可以工作,但在Safari或Chrome中不能工作(仍然无法按键检索)。
我还尝试指定具有相同键结构和空升级的新版本,但这没有任何作用(但我只在Chrome中尝试了一次)。
如果数据库是在安装10.3之后创建的,则一切正常,但我希望我的客户不必删除他们的数据库。
有没有办法在不丢失数据的情况下修复这个问题?