sql-server - 有没有办法为关系数据库中的文本重字段保存版本控制?
问题描述
我正在创建一个项目,专注于创建和编辑“wikis”,其中 SQL 服务器作为数据库,Node.js 作为 REST API,Angular 在前端。主要思想是这些 wiki 以 Markdown 格式编写,并且 wiki 的所有内容都存储在关系数据库中。
问题是客户希望每次用户保存文档时都有一个与版本控制相关联的版本控制(类似于 Google Drive 所做的事情)。因此,每次保存内容时,都无法覆盖之前的内容。
我想到的一个解决方案是创建一个表,该表只负责保存用户编写的内容,以及保存的日期和时间。但是,这样做的问题是,如果内容太大,每次执行保存时都会使用太多不必要的空间。(假设内容可以和上一个完全一样,但多了一个字符)
因此,我想到的另一个解决方案是使用 GIT 来处理版本控制,这样每次创建新 wiki 时,都会使用 wiki id 创建一个新分支,并保留创建文档的记录. 类似于以下帖子中的内容: 使用 GIT 作为 NoSQL 数据库
这个解决方案对于我真正想要实现的目标来说似乎太复杂了,而且我对非关系数据库一无所知,我不知道混合这两种类型的数据库是否是个好主意。
所以我想知道的是,是否有任何正确的方法可以使用关系数据库以有效的方式对包含大量信息的单个字段进行版本控制,如果它不存在,我想知道解决这个问题的最佳方法是什么。
解决方案
推荐阅读
- powerbi - PowerBI 视觉效果如何在点击事件上调用更新
- python-3.x - 在 Networkx 中删除某些边缘的更好实现
- wso2 - 使用 WSO2 EI JMS 入站端点配置 IBM MQ
- node.js - 当 node.js 不在路径中时,Visual Studio Docker 失败
- mysql - 有没有办法插入一个mysql rec并自动删除具有相同密钥的旧rec
- reverse - 如何反转 PARI/GP 中整数的数字?
- ssms - SSMS 过滤器对话框中确定按钮的快捷方式
- unity3d - 如何在 Unity 中使用 ARCore 开发 android 应用程序?
- .net - List.fold 参数的顺序
- javascript - 在文本上应用 Bostock 的换行功能