这样一来,用代码生成器生成的 sql 语句全部都不能用,都得重新写
觉得十分麻烦,大家都是这样用的吗?
1
mkeith 2017-05-23 16:08:54 +08:00
一般 orm 支持软删除的吧
|
2
shiny 2017-05-23 16:11:23 +08:00
BOSS:小王,把上次删除的恢复下
|
3
shiny 2017-05-23 16:13:44 +08:00
记得很久以前看到过一个观点:真实世界是没有删除的。订单作废,用户禁用,员工离职,文稿废弃,优惠券作废。所以 SQL 里面 DELETE 在业务场景里都不应该出现。
|
4
littleylv 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
liprais 2017-05-23 17:13:37 +08:00
数据都删了还分析啥
|
9
ovear 2017-05-23 17:19:03 +08:00
第一是安全。。第二是恩。。你懂得
|
10
Anybfans 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
microget 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 座大山。。 |