- 查了很多资料,显示都是 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',
})
dexie 的教程:https://dexie.org/docs/Tutorial/Design#database-versioning
如果觉得对你有帮助的话,点个赞呗~
反正发文又不赚钱,交个朋友呗~
如需转载,请注明出处foolBirdd