sequelize.js - 何时使用 Sequelize paranoid deletedAt
问题描述
我正在尝试创建一个数据库并维护一个基于 sequelize 构建的宁静 api 服务。
我想要一个模型,UserGameProfile,可以根据用户的喜好删除和恢复。
我希望它能够被删除,并且还可以打开其他状态,例如草稿、取消、提交、批准。
sequelize 中的 Paranoid 属性对这个模型有多大用处?
为什么我应该考虑在状态列(int)之类的东西上使用 Paranoid 属性?
解决方案
使用 paranoid: true 你会在所有查询中自动获得未删除的记录。如果您希望获取所有记录,包括已删除的记录,则应在某个查询的选项中指明 paranoid: false。此查询为您获取所有状态 = 1 的未删除记录
UserGameProfile.findAll({
where: {
status: 1
}})
此查询为您获取所有 status=1 的记录,包括已删除的记录
UserGameProfile.findAll({
where: {
status: 1
}, paranoid: false })
推荐阅读
- laravel - 无法打开流:超出磁盘配额
- java - Predictionio pio 构建成功,但 pio train 错误未找到“名称”
- node.js - Node.js 没有正确重定向
- postgresql - PostgreSQL + Apache 连接池:MaxIdle 和 MaxActive 与 RAM 使用情况
- python - python - 如何绘制一个直方图,其中y轴作为“与每个x bin对应的y值的总和”,x轴作为python中x的n bin?
- java - 使用Java查找给定上一个季度结束日期的下一个季度结束日期
- c3.js - c3.js 减小 x 轴的宽度
- javascript - 是否可以对来自 xhttp 对象外部的 AJAX 响应做出反应?
- excel - 保存错误 - 运行时“1004”
- visual-studio - 如何自定义 Visual Studio 自动完成的键?