0
点赞
收藏
分享

微信扫一扫

【Dexie.js 踩坑】Failed to execute ‘transaction‘ on ‘IDBDatabase‘

  • 查了很多资料,显示都是 indexedDB 的报错,说是异步操作无法保证下一次操作时上一步已经完成,试了很多按顺序执行的方法都无效;再后来试着解决控制台显示的警告提示我版本控制有问题,我就把版本升级了,问题迎刃而解
  • Dexie 官方文档是英文让我直接阅读的确有些困难,没注意到版本控制这个概念——如果你创建了数据库后,需要增删字段的话,需要升级版本,而不能直接在前一版本上操作,操作如下
// 初始数据库
const db = new Dexie('myDatabase')
db.version(1).stores({
    purchase: '++id, name, supplier, buyer, indentData, arriveData',
})

// 想添加新的数据库对象
const db = new Dexie('myDatabase')
db.version(1).stores({
    purchase: '++id, name, supplier, buyer, indentData, arriveData',
})

db.version(2).stores({
	// 当然,你也可以在这修改之前的 purchase 字段,比如去掉 buyer 字段或增加 user 字段之类
    purchase: '++id, name, supplier, buyer, indentData, arriveData',
    storage: '++id, name, num, money',
})

如果觉得对你有帮助的话,点个赞呗~

反正发文又不赚钱,交个朋友呗~

如需转载,请注明出处foolBirdd

举报

相关推荐

0 条评论