我有一个电子应用程序
Dexie.js
在indexeddb之上。遵照指示
here
对于Typescript,我已经把DeCH子类分类,并且在我的构造函数中定义了我的DB:
super('myDb');
this.version(1).stores({
myTable: 'testGuid, tag, downloadDate'
});
一切都是第一次。DB和表是在IndexedDb中创建的,我可以插入记录。通过Chrome DeVoots的“应用”选项卡查看索引数据库,我可以看到表中的数据,以及每个索引中列出的数据。
如果我现在只是重新加载应用程序(在electron中为ctrl-r),则至少有一个索引为空,并且我开始在vscode控制台中获取错误:
Uncaught (in promise) TypeError: Cannot read property 'keyPath' of undefined
Uncaught TypeError: Cannot read property 'databaseId' of undefined
数据仍在表中-我可以在“应用程序”选项卡的“表”视图中看到它:
但是,当我单击“表”视图中的一个索引时,它只是一个空白:
我还注意到数据库列表似乎被这两个
安全来源
和
版本
空白:
我刚做了另一个测试,实际上我甚至不需要在表中插入任何记录来引起问题。只需加载创建db/表的应用程序,然后重新加载electron就会导致索引变得不稳定。
知道我做错了什么吗?
-
德谢2.0.4
-
电子2.0.3
-
角度6.0.1
-
打字本2.7.2
-
节点8
谢谢,
特特
更新第1号
我甚至不需要重新加载我的应用程序。如果我简单地加载应用程序,进入应用程序标签并验证Db/表/索引都存在,然后从应用程序选项卡中刷新DB,现在至少有一个索引被破坏/空了。
更新第2号
通过使用Dexie Typescript指令的示例代码,我得到了同样的结果。