什么是MSSQL数据库设计和版本控制的良好实践/工具?

时间:2010-08-25 12:31:27

标签: sql-server database versioning

我们与一个小型开发团队和系统工程师合作,他们在某些时候部署该软件。

目前我们没有任何有关数据库更改的主要文档。更改在登台数据库中完成,并在系统工程师部署新版本时手动添加到生产中。

我们开始使用DBDesigner Fork来创建设计并生成SQL创建脚本,但我们对此解决方案仍然不满意。解决方案不完整,因为例如在DBDesigner Fork中创建视图和存储过程是不可能的。

我们希望找到一个练习/工具来设计数据库,存储过程,视图等,并在Subversion中对变更进行版本化。

当创建新软件版本(在SVN中标记)时,我们应该能够为数据库创建补丁文件(例如SQL脚本)。

处理上述问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:6)

我们是一家价值25亿美元的太阳能制造公司,它使用Visual Studio Database Edition来满足我们所有的数据库管理和版本控制需求。它对我们来说是一个非常好的工具。它的版本通过TFS集成控制我们的数据库,进行模式和数据比较(如Red-Gate),数据库验证等等。我们现在离不开它。

答案 1 :(得分:2)

我们使用源代码管理进行版本控制。所有数据库更改必须仅在脚本中进行,并作为代码分支的一部分放在源代码控制中,该代码分支将用于生成该代码的其余代码更改。由于开发人员没有任何权利在Prod中创建或更改对象,因此这对我们来说效果很好,因为除非他们在脚本中,否则您的更改不会被提升。