Dexie - 数据库打开时无法添加版本

Dexie - Cannot add version when database is open

本文关键字:添加 版本 数据库 Dexie      更新时间:2023-09-26

我正在使用Dexie.js有时在尝试访问数据库时收到错误"数据库打开时无法添加版本"。

是否有处理此错误的最佳实践?在这种情况下,我是否需要关闭数据库并尝试重新打开它?

我的代码是这样的(用CoffeeScript编写):

  @db = new Dexie @db_name
  @db.version db_version
  .stores stores
  .upgrade (transaction) =>
    console.warn 'Database upgrade needed'
  @db.open()
  .then ->
    console.log 'Storage initialized'
  .catch (error) ->
    console.error error.message, error

我在 Dexie 1.3.2 中通过保留对版本实例的引用并用 try-catch-block 包围它的赋值来解决它:

try
  version_instance = @db.version db_version
catch error
  if error.message is 'Cannot add version when database is open'
    @db.close()
    version_instance = @db.version db_version