我正在尝试使用Dexie修改Angular2应用程序中现有表的表结构。
应用程序已经强制执行表的第2版,现在我必须使用两个新信息扩展mdValuta表:f3,f4
这是代码:
super('WEB_IndexedDB');
this.version(1).stores({
mdValuta:'codudm,numdec,numdecpre'
});
this.version(2).stores({
mdValuta:'codudm,numdec,numdecpre,f1,f2'
});
this.version(3).stores({
mdValuta:'codudm,numdec,numdecpre,f1,f2,f3,f4'
});
我不知道为什么,当我执行应用程序时,我在控制台中收到此错误,并且没有对mdValuta
表进行任何更改。
OpenFailedError:ConstraintError中的一个变异操作 事务失败,因为不满足约束。对于 例如,对象存储或索引等对象已经存在 正在尝试创建一个新的。
我缺少什么?
答案 0 :(得分:1)
问题可能出在 super('WEB_IndexedDB')函数中... 以下代码有效,创建了版本3表:
var db = new Dexie ('WEB_IndexedDB');
db.version(1).stores({
mdValuta:'codudm,numdec,numdecpre'
});
db.version(2).stores({
mdValuta:'codudm,numdec,numdecpre,f1,f2'
});
db.version(3).stores({
mdValuta:'codudm,numdec,numdecpre,f1,f2,f3,f4'
});
db.open();