当用户在界面上删除记录时,并非物理删除,而是打上“已删除”的标记。用户在系统里查看对象记录时,不会显示这些“已删除”的记录。
假删除功能需要在对象定义中进行设置。否则,执行删除操作,仍然是物理删除,无法恢复数据。
- 定义对象时,添加开关enable_trash,并置为true
用户执行“删除”操作后
- 如果对象的enable_trash为false或没有定义,则执行物理删除,在数据库中删除本记录
- 如果对象的enable_trash为true,则执行假删除,给本记录的相关字段赋值
- 已删除(is_deleted):赋值为true
- 删除日期(deleted):赋值为当前日期
- 删除人(deleted_by):赋值为当前操作用户
用户在系统里查看对象记录时,只会显示is_deleted为空的记录,而不会显示is_deleted为true的记录。
如果要恢复误删除的记录,可由管理员在数据库中将此记录的is_deleted置为空。