如何重命名IndexedDB数据库?

5

我使用indexedDB.open方法创建了一个名为“A”的IndexedDB数据库。

现在我想将数据库名称修改为“B”,应该怎么做?

我不想创建一个新的具有新名称的数据库,并将所有数据从旧数据库复制到新数据库。


为什么需要更改数据库名称?通常数据库名称不应与数据绑定。 - Kyaw Tun
1
因为我认为旧名称很丑陋,而且可能会与同一网站上的其他应用程序产生冲突。 - cuixiping
3个回答

5

从主要的文档中:

每个数据库都有一个名称,它在特定的起源内将其标识。名称可以是任何字符串值,包括空字符串,并且在整个数据库的生命周期中保持不变

所以,正如它所说的那样,这个名称在整个生命周期中保持不变。


重命名在indexedDb v2.0中得到支持。请参阅https://hacks.mozilla.org/2016/10/whats-new-in-indexeddb-2-0/。 - pinoyyid
1
Indexed Database API 2.0仍然表示数据库名称“在数据库的生命周期内保持不变”。 - medmunds

1

4
这似乎讨论的是在特定IndexedDB中重命名单个对象存储(大致相当于表),而不是重命名数据库本身。(原始问题是关于更改传递给indexedDB.open的数据库名称。) - medmunds

1
这有点麻烦,但你可以创建一个新的数据库并给它起想要的名字,然后将所有内容从旧数据库复制到新数据库。如果你正在使用自增ID,并且有通过ID进行交叉引用的情况,你可能需要在转移期间生成旧ID与新ID的映射,并转换引用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接