在 Dexie、IndexedDB 中以天为单位添加新表



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

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'}
); 

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

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

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

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

相关内容

最新更新