以小组为例,条目讨论贴和小组评论几乎相同。
小组帖子:
CREATE TABLE IF NOT EXISTS `chii_group_topics` (
`grp_tpc_id` MEDIUMINT(8) UNSIGNED NOT NULL,
`grp_tpc_gid` MEDIUMINT(8) UNSIGNED NOT NULL,
`grp_tpc_uid` MEDIUMINT(8) UNSIGNED NOT NULL,
`grp_tpc_title` VARCHAR(80) NOT NULL,
`grp_tpc_dateline` INT(10) UNSIGNED NOT NULL DEFAULT '0',
`grp_tpc_lastpost` INT(10) UNSIGNED NOT NULL DEFAULT '0',
`grp_tpc_replies` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
`grp_tpc_state` TINYINT(1) UNSIGNED NOT NULL,
`grp_tpc_display` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1'
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
CREATE TABLE IF NOT EXISTS `chii_group_posts` (
`grp_pst_id` MEDIUMINT(8) UNSIGNED NOT NULL,
`grp_pst_mid` MEDIUMINT(8) UNSIGNED NOT NULL,
`grp_pst_uid` MEDIUMINT(8) UNSIGNED NOT NULL,
`grp_pst_related` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' COMMENT '关联回复ID',
`grp_pst_content` MEDIUMTEXT NOT NULL,
`grp_pst_state` TINYINT(1) UNSIGNED NOT NULL,
`grp_pst_dateline` INT(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
_tpc_state
是一个 enum,不一定是用户评论,可能是管理员操作了
StateNone = 0 // 正常
StateClosed = 1 // 管理员关闭主题 https://bgm.tv/subject/topic/12629#post_108127
StateReopen = 2 // 重开
StatePin = 3 // 置顶
StateMerge = 4 // 合并
StateSilent = 5 // 管理员下沉主题 https://bgm.tv/subject/topic/18784#post_160402
StateDelete = 6 // 自行删除
StatePrivate = 7 // 管理员删除
管理员的 1
5
操作会添加一条相同 state 的评论,同时把帖子的 grp_tpc_state
设置为对应的值。
grp_pst_mid
是帖子的 id。
grp_pst_related
决定帖子是否二级回复。