我们与一个小型开发团队和系统工程师合作,他们在某些时候部署该软件。
目前我们没有任何有关数据库更改的主要文档。更改在登台数据库中完成,并在系统工程师部署新版本时手动添加到生产中。
我们开始使用DBDesigner Fork来创建设计并生成SQL创建脚本,但我们对此解决方案仍然不满意。解决方案不完整,因为例如在DBDesigner Fork中创建视图和存储过程是不可能的。
我们希望找到一个练习/工具来设计数据库,存储过程,视图等,并在Subversion中对变更进行版本化。
当创建新软件版本(在SVN中标记)时,我们应该能够为数据库创建补丁文件(例如SQL脚本)。
处理上述问题的最佳方法是什么?
答案 0 :(得分:6)
我们是一家价值25亿美元的太阳能制造公司,它使用Visual Studio Database Edition来满足我们所有的数据库管理和版本控制需求。它对我们来说是一个非常好的工具。它的版本通过TFS集成控制我们的数据库,进行模式和数据比较(如Red-Gate),数据库验证等等。我们现在离不开它。
答案 1 :(得分:2)
我们使用源代码管理进行版本控制。所有数据库更改必须仅在脚本中进行,并作为代码分支的一部分放在源代码控制中,该代码分支将用于生成该代码的其余代码更改。由于开发人员没有任何权利在Prod中创建或更改对象,因此这对我们来说效果很好,因为除非他们在脚本中,否则您的更改不会被提升。