1

我正在研究一些场景并希望得到一些帮助。

我们有一个由 68 名开发人员组成的团队。我们都在三个网络软件上工作,它们都是基于 SQL Server 的。我们今天有大约 4 个包含我们产品设置数据的数据库,以及大约 5 种其他类型的数据库来存储客户的数据。这些客户数据库的结构大多相同。

我们的开发和认证环境与所有开发人员共享,他们整天都在编写脚本,对表、存储过程等进行更改。

问题是我们很难保证一个人可以顺利通过开发、认证,然后进入生产环境而没有任何麻烦,比如丢失了他的一部分工作,这是由另一个开发同一对象的开发人员造成的。

所以,我知道 Red Gate 的解决方案,但它现在对我们来说非常昂贵,但它肯定是目前市场上最具适应性的,也许是最好的解决方案。但是我想知道是否没有其他解决方案,也许将一些软件组合在一起,或者采用某种流程......无论如何,我会很感激一些方向,因为我现在有点迷路了。

如果有人知道我可以研究的一些字体,那也很好。

我已经阅读了一些关于这个问题的内容,我在 Stack Overflow 上找到了这些内容,但他们大多说最好的办法是使用数据库的本地副本,但在我的情况下,我认为这不是一个好的选择。有什么想法吗,伙计们?提前致谢!

4

1 回答 1

2

我们在团队中正在做的事情(尽管规模要小得多,大约有 10 人在数据库上工作)是:

  1. 每个人都使用本地数据库来开发和完成他们的日常工作。
  2. 我们使用 Visual Studio 数据库项目来存储数据库的结构。开发人员以与代码相同的方式签入他们的更改。所有合并冲突都在 TFS 中解决,这也为我们提供了版本控制。
  3. 我们每晚准备脚本以从数据库项目升级测试、登台和生产环境。我们可以随时为任何版本执行此操作,因为数据库结构是版本化的,因此与代码保持一致。

我希望这个答案对您有所帮助。如果您想了解更多信息,我可以详细说明具体点。

于 2013-10-10T00:56:19.523 回答