注销用户的标准操作应该是?

注销一个用户,我的设想

A: 数据表里面关联该用户的数据都删除,但是如果和别人有互动的数据也删除了会出问题,就算不删除,关联该用户的信息也没有了

B:不删除数据,只是标记为注销,但是,和该用户互动的用户怎么显示这个人的信息,比如说互评?

C:只标记注册的手机号或邮箱号,让他可以再注册,但是,互动的用户哪里应该怎么表示?,而且这堆相关了数据貌似也没用了

大家是怎么处理这个问题的?

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
巴啦啦
最佳答案

1.用户表仅保留id,其他数据改为已注销,比如昵称。这样就保留了和其他模块的关联关系 2.相关联的数据,比如聊天记录,或相互留言等,均改为该账号已注销。

3年前 评论
臭鼬 (楼主) 3年前
邢闯洋 3年前
巴啦啦 (作者) 3年前
讨论数量: 17
巴啦啦

1.用户表仅保留id,其他数据改为已注销,比如昵称。这样就保留了和其他模块的关联关系 2.相关联的数据,比如聊天记录,或相互留言等,均改为该账号已注销。

3年前 评论
臭鼬 (楼主) 3年前
邢闯洋 3年前
巴啦啦 (作者) 3年前
  • B 相对来说好些,就是标记该用户已经删除,手机号和昵称都可以初始化一下,比如改成“已注销”,因为本质上还是用 数据库的用户id来区分用户。
  • C 如果用户自己注销啦,那么如果想要支持用同一个手机号重新注册,应该是一个全新的账号信息。
3年前 评论
巴啦啦

1.用户表仅保留id,其他数据改为已注销,比如昵称。这样就保留了和其他模块的关联关系 2.相关联的数据,比如聊天记录,或相互留言等,均改为该账号已注销。

3年前 评论
臭鼬 (楼主) 3年前
邢闯洋 3年前
巴啦啦 (作者) 3年前

将你的用户表完全分开

users 表示 所有用户表 但没有用户信息,仅有用户id 注册时间等不敏感信息

user_profile 用户资料 用于存储 性别姓名等资料信息

wechat_user 微信用户 主要存储 openid user_id wechat_info 等信息

wxapp_user 小程序用户 同上

mobile_user 手机号码用户 同上

。。。以此类推

用户注销的时候 (软) 删除掉 || 更新 user 表信息即可。

其他信息保留与否看你自己了。

3年前 评论
臭鼬 (楼主) 3年前
陈先生 (作者) 3年前
臭鼬 (楼主) 3年前
陈先生 (作者) 3年前

用户名称就显示为「某注销用户」吧

3年前 评论

2L已经给出标准答案了,如果是user单表,注销修改该条记录即可(状态,昵称,头像)。

3年前 评论

我做的是把手机号和邮箱解绑,用户标记为已注销,其他关联数据不变,比如文章展示那些正常展示(在昵称后面加个括号显示此用户已注销),如果有好友系统,就解绑所有与他关联的好友,以后再用之前的邮箱或者手机号注册就是新账号了

3年前 评论
臭鼬 (楼主) 3年前
一念沧海一念桑田 (作者) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!