【问题标题】:Dexie - Extend existing table with new fieldsDexie - 使用新字段扩展现有表
【发布时间】:2018-07-09 13:40:57
【问题描述】:

我正在尝试使用 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 中的变异操作 由于不满足约束,事务失败。为了 例如,对象存储或索引等对象已经存在,并且 正在尝试创建一个新的。

我错过了什么?

【问题讨论】:

    标签: angular dexie


    【解决方案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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-19
      • 2015-01-02
      • 1970-01-01
      • 1970-01-01
      • 2013-05-11
      • 2023-04-08
      • 1970-01-01
      相关资源
      最近更新 更多