全局删除数据都用软删除,物理上不删数据,有没有好的 gem 之类, 全部手写 deleted_at,deleted_by 感觉不是最好。
或者大家是怎么处理软删除的问题的
https://github.com/radar/paranoia
这种东西也要 gem .......
以前维护一个老的看到用 paranoia,后来没用直接手写,后来提到 scope。
#2 楼 @SharpX 懒得思考这个字段的处理,所以看看有木有特别偷懒的方法而已,特别全局同一个处理逻辑的情况
#3 楼 @as181920 我用 default_scope 过滤 delete 纪录,特殊情况,再通过 without scope 取出
https://www.ruby-toolbox.com/categories/Active_Record_Soft_Delete
也可以用 paper_trail,会存到另一张表里去,默认修改也会记录,可以配置成只记录删除。
paper_trail
#5 楼 @doitian 正好想到一个后面需要的功能,就是每次变更操作要记录下来,paper_trail 正好有类似功能,多谢。不过对于非 rails(ruby+activerecord)的,似乎没法直接用 paper_trail,有什么推荐不
acts_as_archive
#7 楼 @wym205 github 查询结果:This project is no longer maintained.
把自己之前项目的软删除提出来了一个 gem https://github.com/jimhj/soft_delete.git 不过没有写测试啊,现在正在用
组里一直在用的,还真是没注意它不维护了; 那就推荐以一个:rails3_acts_as_paranoid