骄傲青蛙 2013年05月23日
帖子版本控制功能如何实现 --- 考考大家
================
实例需求
================


假设, 当前我发的这个帖子, 每次编辑后都保存一个副本,
如果, 我对这个帖子编辑了六次, 那么, 系统则对这六次编辑的改动情况记录一下来。

以后, 我可以查看此帖的改动情况, 什么时候更改过, 那些地方改动过,
而且可以选择最适合的版本作为最终的帖子内容。


================
设计思路
================


数据结构
post (pid, content, changed_time, version_number, current_version_number)

实现过程
新发帖, 插入一条记录到post, version_number为1,current_version_number为0,
修改帖, 插入记录操作如上, 但version_number是编辑帖字段数值自增1, 且当前编辑的pid的current_version_number改为1

数据事例
1, text1 change1, yy-mm-dd, 1, 1
2, text1 change2, yy-mm-dd, 2, 1
3, text1 change3, yy-mm-dd, 3, 1
4, text2 change1, yy-mm-dd, 1, 1
5, text3 change1, yy-mm-dd, 1, 0
6, text1 change4, yy-mm-dd, 4, 0
7, text2 change2, yy-mm-dd, 2, 0

数据索取
就读current_version_number为0的记录


================
缺憾
================

就是 content 的内容太多重复。 想请教一下大家应该如何改进这功能 ?
...全文
297 点赞 收藏 17
写回复
17 条回复

还没有回复,快来抢沙发~

发动态
发帖子
基础编程
创建于2007-09-28

9730

社区成员

14.0w+

社区内容

从PHP安装配置,PHP入门,PHP基础到PHP应用
社区公告
暂无公告