Zcurd之逻辑删除

Zcurd是物理删除,但在业务中,很多实体数据是不能删除的。如:客户、项目、订单等数据。

解决办法有两种:

  • 一、备份删除数据。如使用触发器,删除时自动备份数据。
  • 二、逻辑删除。增加删除标记,删除时修改标记为删除。会增加复杂度,如影响唯一索引等。

第一种方法非常简单,因为物理删除表数据也非常干净。
第二种方法适用于CRM、ERP等复杂业务系统。实体数据不允许删除,或者数据被多个角色拥有,a角色删除数据,但对于b角色并没有删除等。

具体实现

  1. 在表头中增加删除标记字段(默认字段名:sys_delete_flag。0表示正常,1表示删除)。
  2. 列表、详情、修改时增加查询条件sys_delete_flag=0。
  3. 删除时修改sys_delete_flag=1。
  4. 优化操作:生成表单增加判断,如果字段中包含sys_delete_flag字段,则自动设置为表头的删除标记。

版本升级

  1. 从git上更新最新的代码。
  2. 运行增量更新SQL。

配置方式
在线表单-->编辑-->录入“删除标志字段”。

待优化

  1. 详情、编辑页面数据为null,返回404页面。

bug
待反馈......

转载于:https://my.oschina.net/zhongshiyun/blog/1854611

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值