CAPU-ENG / CAPUHome-API

Core system for the online platform of CAPU.
MIT License
2 stars 3 forks source link

论坛数据库重构方案 #6

Open JeldorPKU opened 9 years ago

JeldorPKU commented 9 years ago

分类总结

表名 改动意见
attachments 目前一共只有30个有效附件,考虑整体删除
boardinfo
borrow 考虑删除,重新设计
calendar 删除
captcha_codes
codes 删除
downloads 删除,重新安排
draft 存储草稿,uid tid edit_time content
comments(was lzl) 将fid改为pid,识别所属楼层
mainpage 删除
messages 只保留私信,删除系统通知,转移到notifications表。rbid, rpid, rtid, ruser, rmsg都删除。
null
posts 将pid设置为全局唯一的识别变量,将正文中的各种链接进行重新处理
sign
sms 删除
test 可以删除
threads 将tid设置为全局唯一的识别变量
userinfo 增加uid来识别每个用户, 增加birthday(生日)、student_id(学号)、name(姓名)、tel(电话),删除score
group 新建 group 表
gruop_user group 和 user 多对多关系
privilege 新建权限表
notification 新建通知表,承担原 messages 表的通知职责,原 messages 表现在只承担站内信职责

以下部分是之前第一次发帖的时候的内容:

这里说的只是论坛的数据库,不含其他模块。目前已经成熟的改进方案是:

  • threadsposts两个表来存储帖子;
  • 每个帖子有唯一的tid,版面也要标记,但是tid能唯一确定一个帖子;
  • 用发帖时间来对帖子进行排序,去掉pid,用算法来分页排楼;
  • ... 欢迎补充。
JeldorPKU commented 9 years ago

我把wiki里面的内容搬到一楼了~这样讨论起来好像方便一些,有好的建议和意见就提吧~ @CAPU-ENG/developers

zhzhzoo commented 9 years ago

嗯我觉得不用存 token 直接 cookie 里存 uid。。。。我们可以用 https ~

huxuan commented 9 years ago

1)cookie本身就是可以加密的;2)https是需要证书的,证书是需要钱的……

zhzhzoo commented 9 years ago

2)找“北大 CA”?

huxuan commented 9 years ago

@zhzhzoo 我还没见识过,你可以找给我看看……

zhzhzoo commented 9 years ago

https://its.pku.edu.cn/certinfo/getcert.jsp 不知道有啥用。。。

JeldorPKU commented 9 years ago

话说group, group_user, notifications需要更详细一点的描述和设计~大家来提提方案? @huxuan @zhzhzoo @ckcz123

zhzhzoo commented 9 years ago

嗯我想所谓权限,就是对用户和资源之间的动作的可不可的规定,然后我们就存用户是谁,资源是谁,动作是啥,可还是不可~

zhzhzoo commented 9 years ago

感觉有点麻烦的是继承的情况,而且在我们的场景下还是多重继承 比如大师兄继承了 “所有人”,“认证了的人”,“车队队员”,“车队管家”,“网络组员”,“网络鹳狸猿” 的权限。。。 然后 “所有人” “可以” “读或发” “水版的帖子”,“网络鹳狸猿” “可以” “改” “其它人类的权限”。。。。。。

zhzhzoo commented 9 years ago

有时候权限之间会冲突,比如哪一天我被继承了“被封禁用户”,然后 “被封禁用户” “不能” “读或发或修改” “帖子” 但是 “所有人” “可以” “读或发” “水版的帖子” 我想给权限规定个优先级什么的。。。

zhzhzoo commented 9 years ago

对了以及 “水版的帖子” 继承 “帖子” ~

JeldorPKU commented 9 years ago

我觉得这个设计可能需要等开学了咱们面谈……我没啥经验……