Version control 对于数据库备份,使用依赖关系管理是一种明智的策略吗?

Version control 对于数据库备份,使用依赖关系管理是一种明智的策略吗?,version-control,database-backups,configuration-management,Version Control,Database Backups,Configuration Management,因此,虽然我原则上同意经常引用的文章,但似乎没有人解决大型数据库的问题。我说的不仅仅是模式,还有数据 此外,尽管我是git和Mercurial等DVCSs的忠实支持者,但在处理大文件(不仅仅是二进制文件)时,它们还是不够的 我突然意识到这是一个配置管理问题,而不是版本控制问题。因此,我可以将SQL转储视为构建工件,将备份存储为工件的修订版,并通过项目中的清单将其配对,我可以对每个环境(登台、开发、生产等)执行相同的操作。我发现的一个缺点是构建工件存储库(如Artifactory和Nexus)似乎

因此,虽然我原则上同意经常引用的文章,但似乎没有人解决大型数据库的问题。我说的不仅仅是模式,还有数据

此外,尽管我是git和Mercurial等DVCSs的忠实支持者,但在处理大文件(不仅仅是二进制文件)时,它们还是不够的

我突然意识到这是一个配置管理问题,而不是版本控制问题。因此,我可以将SQL转储视为构建工件,将备份存储为工件的修订版,并通过项目中的清单将其配对,我可以对每个环境(登台、开发、生产等)执行相同的操作。我发现的一个缺点是构建工件存储库(如Artifactory和Nexus)似乎无法以存储效率高的方式处理工件修订(如差异备份)

我的问题一分为二:

A) 对于生产环境来说,这(进行完整的数据库备份)是一种足够稳健的明智策略吗?也就是说,这(或相近的)在现实世界中是否真的做到了


B) 管理(和使用!)数据库备份的最佳做法是什么,使特定备份可以跟踪到生产应用程序的给定版本?

数据库架构更改是一个部署问题。项目的每个版本都应该有从以前版本更新数据库的代码。应该备份您的暂存服务器,您可以在那里试用更改。

正如我在第一段中所阐明的,我不是在谈论模式,而是data@dukeofgaming这是测试数据,还是配置数据?我不习惯看到部署开发数据。数据来自生产,首先用于登台(某种程度上说是测试),然后用于生产。我想要一种方法来保持数据可跟踪到应用程序,而不管它是测试、开发还是生产。同样,不要谈论测试数据装置。