数据删除指南
为了最大限度地降低意外数据丢失的风险,极狐GitLab 提供了在代码库中安全使用删除操作的指南。
通常,有两种删除数据的方式:
- 标记删除:将数据标识为在未来的某个日期删除。这是首选方法。
- 硬删除:立即且永久地移除数据。
避免直接硬删除
应避免直接调用硬删除类,因为这可能导致意外的数据丢失。具体而言,避免调用以下类:
- Projects::DestroyService
- ProjectDestroyWorker
- Groups::DestroyService
- GroupDestroyWorker
推荐方法
针对项目
不要使用 Projects::DestroyService,应使用 Projects::MarkForDeletionService。
rubyProjects::MarkForDeletionService.new(project, current_user).execute
针对群组
不要使用 Groups::DestroyService,应使用 Groups::MarkForDeletionService。
rubyGroups::MarkForDeletionService.new(group, current_user).execute