2013-01-25 28 views
1

我需要使用indexedDb作为本地存储。Dart:indexed_db打开版本

当打开一个indexedDb时,版本被传递,我假设它指出是否需要升级。有人可以解释一下这里发生了什么,尤其是版本的重要性,版本是从哪里获得的,升级是什么?

例如:

import 'dart:indexed_db' as idb; 

final int _iDbVersion = 1; 

void fOpenDb(String sDbName) { 
    var request = window.indexedDB.open(sDbName, _iDbVersion); 
    request.on.success.add((e) => fDbOnOpened(request.result)); 
    request.on.error.add(fDbOnOpenError); 
    request.on.upgradeNeeded.add((e) => fDbOnUpgradeNeeded(request.transaction)); 
} 

回答

0

我发现了,在我看来在很大程度上纠正这种有趣的描述。 :

IndexedDB的:
DATABASE

对于您可以创建数据库的无限数量每年都起源。创建数据库所需的唯一东西是唯一的名称。一个数据库也有一个版本,这个版本将被用来确定数据库的结构。当第一次创建数据库时,版本将是一个空字符串。每个数据库一次只能有一个版本,这意味着数据库不能同时存在多个版本。

VERSION

该组对象存储的是可以改变的,但它只能通过使用Version_change事务改变。此事务将更改数据库的版本,并根据您的定义更改对象库的集合。