
这样一来,用代码生成器生成的 sql 语句全部都不能用,都得重新写
觉得十分麻烦,大家都是这样用的吗?
1 mkeith 2017-05-23 16:08:54 +08:00 一般 orm 支持软删除的吧 |
2 shiny PRO BOSS:小王,把上次删除的恢复下 |
3 shiny PRO 记得很久以前看到过一个观点:真实世界是没有删除的。订单作废,用户禁用,员工离职,文稿废弃,优惠券作废。所以 SQL 里面 DELETE 在业务场景里都不应该出现。 |
4 U7Q5tLAex2FI0o0g 2017-05-23 16:15:06 +08:00 挺好的 |
5 murmur 2017-05-23 16:15:21 +08:00 如果是面试的话应该是大量删除触发索引重建,而现在数据库空间不值钱索引重建一次卡的 cpu 和 io 值钱 |
6 shoaly 2017-05-23 16:28:41 +08:00 laravel 在 orm 里面 是不会查询出软删除的数据的. 提供一次后悔的机会.. 万一呢, 万一傻逼了呢 |
7 otakustay 2017-05-23 17:12:11 +08:00 你只理解数据比钱更值钱,就明白要怎么做了 |
8 F281M6Dh8DXpD1g2 2017-05-23 17:13:37 +08:00 数据都删了还分析啥 |
9 ovear 2017-05-23 17:19:03 +08:00 第一是安全。。第二是恩。。你懂得 |
10 CodeDrift 2017-05-23 17:22:05 +08:00 很想知道 django 有没有这个软删除。。 |
11 helloworldwt 2017-05-23 17:25:45 +08:00 一般都是逻辑删除,不实际删除的。在数据库里使用一个状态来表示 |
12 zyue 2017-05-23 17:28:47 +08:00 我建的表都有个 is_deleted tinyint 字段 |
13 wc951 2017-05-23 17:45:17 +08:00 via Android 那要看是什么数据了,也不是所有业务场景都需要留着过期数据 |
14 yghack 2017-05-23 17:55:34 +08:00 生产环境不能有 DELETE 权限 |
15 zhenjiachen 2017-05-23 17:56:29 +08:00 deletedAt 日期格式,这个字段好一点,你 status 不知道什么时候删除的,查询直接使用 deletedAt is not null 就好 |
16 ixo 2017-05-23 17:59:54 +08:00 必要 @zhenjiachen 我一般是配合 updateAt 这个字段判断删除时间。 |
17 solee 2017-05-23 18:06:28 +08:00 很好啊 我们也是配合 updatedAt 字段使用 软删除 |
18 Mogugugugu 2017-05-23 18:06:33 +08:00 逻辑删除,不会无理删除的.一方面避免误操作,另一方面 数据无价,无论用来干啥... |
19 cloverstd 2017-05-23 18:09:51 +08:00 软删除,多对多联查的很麻烦啊 |
20 Ouyangan 2017-05-23 19:22:57 +08:00 你改下 代码生成器 |
21 mingyun 2017-05-23 23:07:18 +08:00 laravel 使用 deleted_at 表示软删除 |
22 ihuotui 2017-05-24 00:49:12 +08:00 via iPhone 没有删除权限 并发删除会死锁 索引会重建 |
24 geelaw 2017-05-24 01:53:46 +08:00 一些法律法规要求数据必须保留一段时间以供文书提出。例如 http://baike.baidu.com/item/%E5%85%AC%E5%AE%89%E9%83%A8%E4%BB%A4%E7%AC%AC82%E5%8F%B7 公安部令第 82 号第十三条,要求数据至少保留 60 日。 |
25 orvice 2017-05-24 01:56:54 +08:00 以前公司,线上程序 99%的地方,都不会有 delete 权限,业务上全部用 status 来做删除 你要 delete 权限的时候要越过 leader,dba2 座大山。。 |