首页 > 解决方案 > 有没有办法为关系数据库中的文本重字段保存版本控制?

问题描述

我正在创建一个项目,专注于创建和编辑“wikis”,其中 SQL 服务器作为数据库,Node.js 作为 REST API,Angular 在前端。主要思想是这些 wiki 以 Markdown 格式编写,并且 wiki 的所有内容都存储在关系数据库中。

问题是客户希望每次用户保存文档时都有一个与版本控制相关联的版本控制(类似于 Google Drive 所做的事情)。因此,每次保存内容时,都无法覆盖之前的内容。

我想到的一个解决方案是创建一个表,该表只负责保存用户编写的内容,以及保存的日期和时间。但是,这样做的问题是,如果内容太大,每次执行保存时都会使用太多不必要的空间。(假设内容可以和上一个完全一样,但多了一个字符)

wiki内容的关系图

因此,我想到的另一个解决方案是使用 GIT 来处理版本控制,这样每次创建新 wiki 时,都会使用 wiki id 创建一个新分支,并保留创建文档的记录. 类似于以下帖子中的内容: 使用 GIT 作为 NoSQL 数据库

这个解决方案对于我真正想要实现的目标来说似乎太复杂了,而且我对非关系数据库一无所知,我不知道混合这两种类型的数据库是否是个好主意。

所以我想知道的是,是否有任何正确的方法可以使用关系数据库以有效的方式对包含大量信息的单个字段进行版本控制,如果它不存在,我想知道解决这个问题的最佳方法是什么。

标签: sql-serverdatabasegitversion-controlversioning

解决方案


推荐阅读