我想知道哪种方法可以解决这个问题:
在每个阶段,用户编辑文章,我想向用户显示每次提交期间所做的更改(添加和减少)。
我想到了两种方法:
保留文章内容的所有迭代保存在数据库中。 Aka为每个保存创建一个新行,包含整个文章内容。然后,通过检查差异来比较后端中的文件。
+-----------+---------+----------------------------+
| ArticleID | Version | Body |
+-----------+---------+----------------------------+
| 1 | 3 | This is a random article. |
| 1 | 2 | This is a random article |
| 1 | 1 | a random article |
+-----------+---------+----------------------------+
或者通过存储它来记录对文章的所有更改,如下所示,然后当用户想要查看版本1和2之间的差异时,获取版本1并附加所做的更改
+-----------+---------+-------------------+-------------------+---+
| ArticleID | Version | CharacterPosition | + | - |
+-----------+---------+-------------------+-------------------+---+
| 1 | 3 | 24 | . | |
| 1 | 2 | 0 | This is | |
| 1 | 1 | 0 | a random article | |
+-----------+---------+-------------------+-------------------+---+
答案 0 :(得分:1)
我建议选项1.如果您使用选项2,当某人添加或删除不同位置的字符时,您会遇到麻烦。此外,如果你想看到三个版本的差异,它会给编码带来一些困难。