Discuz! X2 数据表结构详解

Discuz! 是一款广泛使用的开源社区论坛软件,其中 X2 版本 作为其历史上的重要迭代,具有较复杂的数据表设计。将从数据库组织和数据流向角度,逐步解析 Discuz! X2 的 数据表结构

1. 基本概念

  • 数据库:Discuz! X2 使用 MySQL 数据库,负责存储论坛所有信息。
  • :数据库数据以表格方式存储,论坛的每项功能或数据集均对应一个表。

2. 核心数据表

  • pre_common_member:用户表,存储用户信息(如用户名、密码、邮箱、注册时间等)。
  • pre_common_thread:主题表,记录帖子信息(发帖人、时间、内容等)。
  • pre_common_post:帖子表,包含帖子详细内容,如回复、编辑记录等。
  • pre_common_forum:版块表,定义论坛的各个板块及其属性(板块名称、描述、权限设置等)。
  • pre_common_credit_log:积分日志表,记录用户积分变动情况。

3. 用户相关表

  • pre_common_member_profile:用户资料表,存储用户的扩展信息(生日、性别、签名等)。
  • pre_common_member_field:用户自定义字段表,用于扩展用户信息。
  • pre_common_member_status:用户状态表,记录用户在线状态、最后访问时间等。

4. 内容管理表

  • pre_common_attachment:附件表,管理论坛上传的图片、文件等,记录附件 ID、文件名、大小等信息。
  • pre_common_magiclog:道具使用日志,记录用户使用道具的详细情况。
  • pre_common_smiley:表情表,存储论坛表情代码及对应图片。

5. 权限与设置表

  • pre_common_group:用户组表,定义不同用户组权限与设置。
  • pre_common_perm:权限表,记录论坛的权限规则。
  • pre_common_setting:全局设置表,存储论坛整体配置信息。

6. 统计与日志表

  • pre_common_statistic:统计数据表,记录论坛运行情况、用户访问数据等,供论坛数据分析参考。