如何在 dexie 中读取当前的数据库版本号?

tim*_*der 2 javascript caching indexeddb dexie

Dexie 中,当您需要升级架构或表架构时,您可以使用db.version(X)method。

然后,库将检查用户的浏览器是否缓存了以前的版本并执行适当的升级步骤。

但是我找不到如何手动读取当前用户的数据库版本

因此,例如,如果编写此故意破坏代码:

db.version(1).stores(/* my schema */) // 删除这段代码
db.version(2).stores(/* my schema */)

库会礼貌地抛出一个错误,指出用户当前拥有的版本(显然,1)没有架构。

但是有没有办法读取用户的确切版本?

它可能对调试有用!

Lou*_*uis 5

version()如果您只想检查数据库,则可以跳过整个过程。例如,我可以使用此代码打印数据库的版本号。

new Dexie("myDB").open().then((db) => console.log(db.verno))
Run Code Online (Sandbox Code Playgroud)

请注意(如文档中所述),Dexie 将设置的版本号.version()乘以 10,因此如果您在浏览器的调试器中检查数据库,您将看到一个数字,该数字是您使用vernofield获得的数字的 10 倍。