我定义了一个没有任何问题的集合,如下所示:
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条答案
按热度按时间i7uaboj41#
第二种选择是正确的。但也要保留版本1的代码,如文档中所述。但是,如果您已经测试过使用版本2或版本3,则很容易出错。您永远不能在同一客户端上更改相同的版本。
如果第二个替代方案失败,请检查控制台日志中的解释消息。这可能是因为您在测试时已经添加了一个高于2的版本。如果是这样,您可能需要将版本增加到比已使用的值更高的值,或者
上面的一行将删除数据库,然后重新创建它。