数据库中是否有用于版本控制的通用选项?

Eri*_*tas 5 mysql sql-server version-control relational-database

我在开发项目中使用SVN的经验很少,而在关系数据库方面的经验也很少。我知道诸如表和SQL语句之类的基本概念,但我远非专家。

我想知道的是,是否有像SVN这样的通用版本控制类型的系统,但是它们适用于数据库而不是文件。我希望获得与SVN相同的功能,例如创建分支,创建标签并将分支合并在一起的功能。与其将修订版本号与文件存储库的版本相关联,不将其与数据库的版本相关联。

是否有任何通用的解决方案可以独立于实际的数据库模式添加这种功能?我会对与MySQL或MS SQL Server一起使用的解决方案感兴趣。

我还应该澄清一下,我正在尝试对数据(而非架构)进行版本控制。我希望架构保持不变。因此,实际上似乎我想找到一种方法来创建在每个版本的数据之间发送数据库的所有INSERT,UPDATE和DELETE请求的日志。这样,可以通过重新发送已保存到所需版本的所有SQL语句来重新创建任何版本。

Ode*_*ded 1

您可以将所有 DDL、存储过程等编写为常规文本文件。

然后您可以简单地使用 SVN 进行数据库版本控制。