2014-08-27 24 views
0

當其中一個版本發生更改時保持活動幾個連接是否可行?在升級時使用多個連接IndexedDB版本

我想每個ObjectStore有一個連接,當打開連接時創建ObjectStore,以便每個連接只對它的ObjectStore執行事務。

我瞭解如何添加新的ObjectStores並更改版本(請參閱How to create multiple object stores in IndexedDBCan you ever alter the structure of an indexedDB database after it has been opened in firefox?),並且每個連接都必須在更改版本時關閉。

但是,我不確定連接是否自動重新連接,或者有一些事件正在監聽升級完成,或者我必須手動完成。

恐怕我不得不在任何事務之前檢查數據庫是否打開,如果它已關閉,請將其打開。不過,我想知道是否有更好的方法。另外,我不是要求代碼,只是一些指南,參考或想法。

在此先感謝。

回答

1

是的,所有連接都有相同的版本。

連接打開後無法更改版本。 (舊規格可以,但不再)。

如果您失去連接,它將不會自動連接。事實上,一個連接不會丟失,除非你關閉它。

如果在其他連接存在的情況下使用較新版本打開連接,將通過onversionchange event通知現有連接,並且現有連接必須關閉連接,以便繼續進行新連接。