V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  gj9590  ›  全部回复第 1 页 / 共 1 页
回复总数  9
311 天前
回复了 gj9590 创建的主题 程序员 开始从 discuzX3.4 迁移到 nodebb
@neutrino 谢谢建议,我还在本地 nodebb 测试中,3.5 也可以同时测试,有好的升级教程希望你发一个谢谢!
311 天前
回复了 gj9590 创建的主题 程序员 开始从 discuzX3.4 迁移到 nodebb
311 天前
回复了 gj9590 创建的主题 程序员 开始从 discuzX3.4 迁移到 nodebb
@matolv 谢谢你的建议,搭过一次,感觉后台不太友好,还有就是非常消耗资源,请教一下至少需要多少内存和 CPU 来运行呢
用 firefox 能打开了,速度快可能是没有什么帖子的原因
https://bbs.hyzctech.cn 论坛打不开了
discourse 更万耗资源,nodebb 功能强大,其实稳定性不错。至于你说的布局,我觉得是比较简洁,如果不满意也可以自定义。
311 天前
回复了 gj9590 创建的主题 程序员 开始从 discuzX3.4 迁移到 nodebb
@winzkh 原来是这样,谢谢!
311 天前
回复了 gj9590 创建的主题 程序员 开始从 discuzX3.4 迁移到 nodebb
@NessajCN 谢谢推荐,我去了解一下。markdown 不熟,上面那个回复有表格不知道为什么系统没有转成 markdown
311 天前
回复了 gj9590 创建的主题 程序员 开始从 discuzX3.4 迁移到 nodebb
首先要了解下 discuzX3.4 和 nodebb 的数据库结构,discuzX 用的是 mysql ,nodebb 用的是 mongodb 。

最重要的当然是**用户**相关的数据表和**帖子**数据表。discuzX 能查到数据表字典,nodebb 只能自己用 mongodb 的 admin 工具看了。

### 一、用户数据

**2 、nodebb 和 discuz 数据表的对照**

Nodebb 用户表须用的数据(字段):

```json
db.objects.findOne({username:"admin"}) -->
{
"_id" : ObjectId("65cb8801e09f69ff71141520"),
"_key" : "user:1",
"joindate" : 1707837441083,
"lastonline" : 1708000177292,
//"status" : "online",
"uid" : 1,
"username" : "admin",
//"userslug" : "admin",
"password" : "$2a$12$VIKLGFC3AS1B4sDuVNivIOQO1HVpxjdOJXyUDBnDZqbu5nK",
//"password:shaWrapped" : 1,
"email" : "[email protected]",
//"email:confirmed" : 1,
//"groupTitle" : "[\"\"]",
//"gdpr_consent" : 1,
"profileviews" : 0, // 空间点击数 views
"reputation" : 0, // 声誉,积分 credits
"topiccount" : 1, // 主题 threads
"lastposttime" : 1707837441933,
"postcount" : 1, // 帖子 posts (包含了主题)
//"rss_token" : "17305070-9558-4f2a-bef1-aba7902e0990",
"picture" : "/assets/uploads/profile/1-profileavatar-1707989852545.jpeg",
"uploadedpicture" : "/assets/uploads/profile/1-profileavatar-1707989852545.jpeg",
"fullname" : "全名 guojin",
"aboutme" : "关于我是一个管理员",
"birthday" : "2024-02-15",
"location" : "广州",
"signature" : "签名:我是一个管理员",
"website" : "https://weibo.com/我的网"
}
```

discuzX 的表分得比较散,有好几个表:

pre_common_member 用户主表

| 字段名 | 数据类型 | 默认值 | 允许非空 | 自动递增 | 备注 |
| --- | --- | --- | --- | --- | --- |
| uid | mediumint(8) unsigned | | NO | 是 | 会员 id |
| email | char(40) | | NO | | 邮箱 |
| username | char(15) | | NO | | 用户名 |
| password | char(32) | | NO | | 密码 |
| status | tinyint(1) | 0 | NO | | 判断用户是否已经删除 需要 discuz 程序加判断,并增加整体清理的功能。原 home 字段为 flag |
| emailstatus | tinyint(1) | 0 | NO | | email 是否经过验证 home 字段为 emailcheck |
| avatarstatus | tinyint(1) | 0 | NO | | 是否有头像 home 字段为 avatar |
| videophotostatus | tinyint(1) | 0 | NO | | 视频认证状态 home |
| adminid | tinyint(1) | 0 | NO | | 管理员 id |
| groupid | smallint(6) unsigned | 0 | NO | | 会员组 id |
| groupexpiry | int(10) unsigned | 0 | NO | | 用户组有效期 |
| extgroupids | char(20) | | NO | | 扩展用户组 |
| regdate | int(10) unsigned | 0 | NO | | 注册时间 |
| credits | int(10) | 0 | NO | | 总积分 |
| notifysound | tinyint(1) | 0 | NO | | 短信声音 |
| timeoffset | char(4) | | NO | | 时区校正 |
| newpm | smallint(6) unsigned | 0 | NO | | 新短消息数量 |
| newprompt | smallint(6) unsigned | 0 | NO | | 新提醒数目 |
| accessmasks | tinyint(1) | 0 | NO | | 标志 |
| allowadmincp | tinyint(1) | 0 | NO | | 标志 |
| onlyacceptfriendpm | tinyint(1) | 0 | NO | | 是否只接收好友短消息 |
| conisbind | tinyint(1) unsigned | 0 | NO | | 用户是否绑定 QC |

uc_members 用户表

| 字段名 | 数据类型 | 默认值 | 允许非空 | 自动递增 | 备注 |
| --- | --- | --- | --- | --- | --- |
| uid | mediumint(8) unsigned | | NO | 是 | 用户 ID |
| username | char(15) | | NO | | 用户名 |
| password | char(32) | | NO | | 密码 |
| email | char(32) | | NO | | 用户 Email |
| myid | char(30) | | NO | | 漫游 id |
| myidkey | char(16) | | NO | | 漫游 id |
| regip | char(15) | | NO | | 注册 IP |
| regdate | int(10) unsigned | 0 | NO | | 注册时间 |
| lastloginip | int(10) | 0 | NO | | 上次登陆的 IP(程序转换成数值类型) |
| lastlogintime | int(10) unsigned | 0 | NO | | 上次登录的时间 |
| salt | char(6) | | NO | | 密码干扰串,用来和密码进行配合验证,防止被暴力破解 |
| secques | char(8) | | NO | | 用户的安全提问 |

pre_common_member_field_forum 用户论坛字段表

| 字段名 | 数据类型 | 默认值 | 允许非空 | 备注 |
| --- | --- | --- | --- | --- |
| uid | mediumint(8) unsigned | | NO | 会员 id |
| publishfeed | tinyint(3) | 0 | NO | 用户自定义发送哪些类型的 feed(原字段为 customaddfeed) |
| customshow | tinyint(1) unsigned | 26 | NO | 自定义帖子显示模式 |
| customstatus | varchar(30) | | NO | 自定义头衔 |
| medals | text | | NO | 勋章信息 |
| sightml | text | | NO | 签名 |
| groupterms | text | | NO | 公共用户组 |
| authstr | varchar(20) | | NO | 找回密码验证串 |
| groups | mediumtext | | NO | 用户所有群组 |
| attentiongroup | varchar(255) | | NO | 用户偏好 |

pre_common_member_profile 用户栏目表

| 字段名 | 数据类型 | 默认值 | 允许非空 | 备注 |
| --- | --- | --- | --- | --- |
| uid | mediumint(8) unsigned | | NO | 会员 id |
| realname | varchar(255) | | NO | 实名 |
| gender | tinyint(1) | 0 | NO | 性别 (0:保密 1:男 2:女) |
| birthyear | smallint(6) unsigned | 0 | NO | |
| birthmonth | tinyint(3) unsigned | 0 | NO | |
| birthday | tinyint(3) unsigned | 0 | NO | |
| constellation | varchar(255) | | NO | 星座(根据生日自动计算) |
| zodiac | varchar(255) | | NO | 生肖(根据生日自动计算) |
| telephone | varchar(255) | | NO | 固定电话 |
| mobile | varchar(255) | | NO | 手机 |
| idcardtype | varchar(255) | | NO | 证件类型:身份证 护照 军官证等 |
| idcard | varchar(255) | | NO | 证件号码 |
| address | varchar(255) | | NO | 邮寄地址 |
| zipcode | varchar(255) | | NO | 邮编 |
| nationality | varchar(255) | | NO | 国籍 |
| birthprovince | varchar(255) | | NO | 出生省份 |
| birthcity | varchar(255) | | NO | 出生城市 |
| birthdist | varchar(20) | | NO | 出生行政区/县 |
| birthcommunity | varchar(255) | | NO | 出生小区 |
| resideprovince | varchar(255) | | NO | 居住省份 |
| residecity | varchar(255) | | NO | 居住城市 |
| residedist | varchar(20) | | NO | 居住行政区/县 |
| residecommunity | varchar(255) | | NO | 居住小区 |
| residesuite | varchar(255) | | NO | 小区、写字楼门牌号 |
| graduateschool | varchar(255) | | NO | 毕业学校 |
| company | varchar(255) | | NO | 公司 |
| education | varchar(255) | | NO | 学历 |
| occupation | varchar(255) | | NO | 职业 |
| position | varchar(255) | | NO | 职位 |
| revenue | varchar(255) | | NO | 年收入 |
| affectivestatus | varchar(255) | | NO | 情感状态 |
| lookingfor | varchar(255) | | NO | 交友目的(交友类型) |
| bloodtype | varchar(255) | | NO | 血型 |
| height | varchar(255) | | NO | 身高 |
| weight | varchar(255) | | NO | 体重 |
| alipay | varchar(255) | | NO | 支付宝帐号 |
| icq | varchar(255) | | NO | ICQ |
| qq | varchar(255) | | NO | QQ |
| yahoo | varchar(255) | | NO | YAHOO |
| msn | varchar(255) | | NO | MSN |
| taobao | varchar(255) | | NO | 阿里旺旺 |
| site | varchar(255) | | NO | 主页 |
| bio | text | | NO | 自我介绍 来自论坛 bio 字段 |
| interest | text | | NO | 兴趣爱好 |
| field1 | text | | NO | 自定义字段 1 |
| field2 | text | | NO | 自定义字段 2 |
| field3 | text | | NO | 自定义字段 3 |
| field4 | text | | NO | 自定义字段 4 |
| field5 | text | | NO | 自定义字段 5 |
| field6 | text | | NO | 自定义字段 6 |
| field7 | text | | NO | 自定义字段 7 |
| field8 | text | | NO | 自定义字段 8 |

pre_common_member_count 用户统计表

| 字段名 | 数据类型 | 默认值 | 允许非空 | 备注 |
| --- | --- | --- | --- | --- |
| uid | mediumint(8) unsigned | | NO | 会员 id |
| extcredits1 | int(10) | 0 | NO | 声望 |
| extcredits2 | int(10) | 0 | NO | 金钱 |
| extcredits3 | int(10) | 0 | NO | 扩展 |
| extcredits4 | int(10) | 0 | NO | 扩展 |
| extcredits5 | int(10) | 0 | NO | 扩展 |
| extcredits6 | int(10) | 0 | NO | 扩展 |
| extcredits7 | int(10) | 0 | NO | 扩展 |
| extcredits8 | int(10) | 0 | NO | 扩展 |
| friends | smallint(6) unsigned | 0 | NO | 好友个数 home |
| posts | mediumint(8) unsigned | 0 | NO | 帖子数 |
| threads | mediumint(8) unsigned | 0 | NO | 主题数 |
| digestposts | smallint(6) unsigned | 0 | NO | 精华数 |
| doings | smallint(6) unsigned | 0 | NO | 记录数 |
| blogs | smallint(6) unsigned | 0 | NO | 日志数 |
| albums | smallint(6) unsigned | 0 | NO | 相册数 |
| sharings | smallint(6) unsigned | 0 | NO | 分享数 |
| attachsize | int(10) unsigned | 0 | NO | 上传附件占用的空间 home |
| views | mediumint(8) unsigned | 0 | NO | 空间查看数 |
| oltime | smallint(6) unsigned | 0 | NO | 在线时间 |
| todayattachs | smallint(6) unsigned | 0 | NO | 当天上传附件数 |
| todayattachsize | int(10) unsigned | 0 | NO | 当天上传附件容量 |
| feeds | mediumint(8) unsigned | 0 | NO | 广播数 |
| follower | mediumint(8) unsigned | 0 | NO | 听众数量 |
| following | mediumint(8) unsigned | 0 | NO | 收听数量 |
| newfollower | mediumint(8) unsigned | 0 | NO | 新增听众数量 |
| blacklist | mediumint(8) unsigned | 0 | NO | 拉黑用户数 |

pre_common_member_status 用户状态表

| 字段名 | 数据类型 | 默认值 | 允许非空 | 备注 |
| --- | --- | --- | --- | --- |
| uid | mediumint(8) unsigned | | NO | 会员 id |
| regip | char(15) | | NO | 注册 IP |
| lastip | char(15) | | NO | 最后登录 IP |
| lastvisit | int(10) unsigned | 0 | NO | 最后访问 |
| lastactivity | int(10) unsigned | 0 | NO | 最后活动 |
| lastpost | int(10) unsigned | 0 | NO | 最后发表 |
| lastsendmail | int(10) unsigned | 0 | NO | 上次发送 email 时间 home 原字段为 lastsend |
| invisible | tinyint(1) | 0 | NO | 是否隐身登录 |
| buyercredit | smallint(6) | 0 | NO | 买家信用等级及积分 |
| sellercredit | smallint(6) | 0 | NO | 卖家信用等级及积分 |
| favtimes | mediumint(8) unsigned | 0 | NO | 个人空间收藏次数 |
| sharetimes | mediumint(8) unsigned | 0 | NO | 个人空间分享次数 |
| profileprogress | tinyint(2) unsigned | 0 | NO | 个人资料完成度 |
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5658 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 06:37 · PVG 14:37 · LAX 22:37 · JFK 01:37
Developed with CodeLauncher
♥ Do have faith in what you're doing.