数据库和 DVCS

标签 database dvcs

我最近问了一个关于 DVCS 是否适合企业环境的问题,这引发了我的另一个问题。

DVCS 的优点之一似乎是您可以轻松分支并尝试新事物。当我开始考虑数据库更改时,我的问题就开始了。我一直发现将数据库引入 VCS 很棘手,而且听起来使用 DVCS 会更加困难。

那么,使用数据库和 DVCS 的最佳方式是什么?

编辑:我已经开始研究 Migrator.NET。人们如何看待这样的项目,特别是在 DVCS 中使用实验分支轻松地在版本之间移动?

最佳答案

我认为处理这个问题的最佳方法是使用数据库模式,而不是数据库本身。在这种情况下,每个开发人员都会有自己的数据库来进行开发。

以下是一些可用选项:

  • Ruby on Rails 中的迁移框架。
  • South 对于 Django,除了模型类本身定义的架构之外。
  • 适用于 .NET 的 Visual Studio 2008 Team System Database Edition:您定义架构,该工具可以对架构和数据进行比较,以生成在不同版本的数据库之间运行的脚本。<

这些可能会给您一些关于如何处理将数据库置于版本控制中的灵感。处理模式时带来的另一个好处是您可以更轻松地实现 TDD 和持续集成 (CI)。您的 TDD/CI 环境将能够构建新版本的数据库,然后针对新生成的环境运行测试。

关于数据库和 DVCS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1941069/

相关文章:

mercurial - 这是一个好的集中式DVCS工作流程吗?

svn - 使用中央存储库是否违背了 GIT 的目的?

mysql - 获取最后插入元素的ID

android - SQLite 和 Android : unable to open database file - error 14

用于存储食物食谱的数据库设计

version-control - 防止用户在分支关闭时提交

git - git 有什么了不起的?

php - 以不会让用户发疯的方式在数据库中存储长度或高度

database - 在索引中使用 bool 值或枚举列?

git - 为什么 git commit -a 不添加新文件?