请选择 进入手机版 | 继续访问电脑版

社区迁移到DiscuzQ过程记录,给需要的人

使用教程 使用教程 429 人阅读 | 0 人回复

一、环境
老系统是自己做的社交圈,也是基于Laravel,转移过来容易一些。
产生的有几万用户和帖子,都要同步转移过来。

二、历史数据转移过程
1、用户数据的转移,一定要先转移用户数据,因为有几个表是外键关联到这里的,如果先转移其他数据,关联不到user_id,数据会导入不进来。
涉及到用户的表如下:
users
用户表,因为我的系统不带用户名,但是DZQ用户系统是基于“用户名+密码”,并且用户名不能重复,所以往这里转移的时候费点劲,最后采用“微信昵称_用户id”来作为用户名。
还请官方看看能不能优化注册模式,个人认为“用户名+密码”已经不适用于新时代了,对于老百姓来说还是“手机号+密码/验证码”最为合适,用户名改为昵称就好了,不验证重复,想怎么改就怎么改。
group_user
每个用户的用户组权限,每个用户都要导进来,关联groups表,导入后自行调整。
user_wechats
这是微信数据
user_wallets
用户的钱包,每个用户都要导进来,否则会无法打赏购买等等。我就是这里出了问题,感谢官方技术帮忙解决了。
2、帖子数据转移
threads
主题表
posts
帖子内容表,这里要注意一要关联到主题表,二要注意帖子之间的回复关系。
我这里出的问题,也是官方给解决的,非常感谢!
post_user
点赞关系表
attachments
图片、附件表
以上表涉及字段比较多,转换时不懂的可以看官方的数据字典:
https://dl.discuz.chat/dzq_datadict_latest.pdf
3、用户关注关系迁移
user_follow
这里要注意的是,里面有个is_mutual字段,是代表双方相互关注的。
我的老系统没有这个,手动做了处理之后再导入的。

三、新增数据处理
因为老系统需要积分功能,DZQ没有积分,所以只能两个用户系统并存,在老系统那边做了触发器,有新的用户插入和更新操作,就自动同步到DZQ这边来。
DZQ这边关闭了注册功能,只能登录。
所以要对新增用户的数据进行处理,主要也是涉及到以上用户历史数据迁移时的几个表。

四、目前存在的问题
1、头像
微信头像我只把微信接口返回的headimgurl导入到user_wechats表了,dzq都是本地化的,现在没有好的办法处理。
历史数据只有手动处理导入,但是新的用户都是从老系统同步过来的,依然不会有头像。
暂时只能做个计划任务,定时更新操作一下实现本地化,期待官方能自动检测并缓存。
2、用户名,目前显示的是昵称+uid作为用户名,也挺难看的。


1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 本站管理QQ:564252584,唯一联系方式!
3. 请勿发布有损他人权益和违法内容,后果自负,请各位知悉!
回复

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则