0

我定义了一个没有任何问题的集合,如下所示:

db = new Dexie('db');
db.version(1).stores(
    {test : '++id,title'}
); 

但是当我通过以下两种方式将新表添加到“db”数据库时,两者都失败并且不会发生更改。

//without version change
db = new Dexie('db');
db.version(1).stores(
    {test2 : '++id,title'}
); 

或者

//with version change
db = new Dexie('db');
db.version(2).stores(
    {test2 : '++id,title'}
); 
4

1 回答 1

0

第二种选择是正确的。但也要保留版本 1 代码,如 docs 中所述。但是,如果您已经测试过使用版本 2 或版本 3,它很容易出错。您永远不能在同一个客户端上更改相同的版本。

如果您的第二个替代方案失败,请在控制台日志中查看解释性消息。可能是您在测试时已经添加了高于 2 的版本。如果是这样,您可能需要将版本增加到高于已使用的值,或者执行

Dexie.delete('db').then(()=>db.open())

上面的行将删除数据库,然后重新创建它。

于 2017-10-08T20:17:41.883 回答