可能与以下未解决的问题有关:instance.destroy(...) does not return any information if rows has been deleted or not,但似乎与Model.destroy(...)
更为相关,根据documentation,Model.findAll(...)
应该返回删除的行数。
我是Sequelize的新手,所以如果我做错了什么,请纠正我。我在MySQL 8.0.16中使用它并运行sequelize 5.21.2
使用Instance.destroy()
然后遍历各行并处理db.tags.findAll({where: MyWhereObj,attributes: MyFieldArray}).then(tags => {
_.forEach(tags,tag => {
//more processing scripts for tag
tag.destroy().then(deleted => {
console.log(deleted)
})
})
})
时,我将根据Instance.destroy(...)
documentation返回该实例
isnewRecord
我想知道的是,该行是否已成功删除。我浏览了返回的实例,以查找isDeletedRecord
是否存在类似DELETE FROM `tags` WHERE `guid` = 'aaa-bbb-ccc-ddd'
的属性,但没有相似之处
我可以观察节点控制台并查看查询是否正确通过。假设该行已成功删除是安全和最佳做法吗?
查询以...的形式发送到MySQL
db.tags.findAll({where: MyWhereObj,tag => {
// more processing scripts for tag
tag.destroy().then(deleted => {
console.log(deleted)
}).catch(err =>{
// The row was not deleted
console.error(err)
})
})
}).catch(err => {
// Error in Retrieving/Processing
console.error(err)
})
...应该删除的行数,但是Sequelize似乎忽略了该信息
我认为我可以使用这些catch块捕获删除错误或检索/处理错误。但是想知道是否有更好的方法来简单地知道删除是否发生
body: Container(
height: MediaQuery.of(context).size.height,width: MediaQuery.of(context).size.width,decoration: BoxDecoration(
gradient:
LinearGradient(colors: [Color(0xFFc2e59c),Color(0xFF64b3f4)]),)