我在SO上找到了一些信息,包括这篇文章:Keeping development databases in multiple environments in sync.One of the answers in particular指向了一些链接,所有这些链接都有很好的有用信息.
我正在阅读K. Scott Allen撰写的series of posts,描述了他如何管理数据库更改.从我的阅读(并请原谅我的问题的无意义),似乎数据库本身从未被检查到存储库.相反,可以在存储库中检查可以构建数据库的脚本以及测试数据(也从脚本填充).最终,这意味着,当开发人员测试他或她的应用程序时,将运行这些脚本,这些脚本是构建过程的一部分.这可确保数据库是最新的,但也可以从每个开发人员的计算机本地运行.
这对我来说很有意义(如果我确实正确地阅读了这一点).但是,如果我遗失了某些内容,我将不胜感激,或者需要更多指导.另外,我想问的另一个问题 – 这是否也意味着我不应该检查从Visual Studio创建的mdf或ldf文件?
感谢您的帮助和其他见解.永远感激.
解决方法
我不是建立测试数据的粉丝,除非数据本身将模仿生产所具有的数据的大小(或者,在新数据库的情况下,它是有的).为什么?因为针对具有100条记录的表编写代码并不会告诉您当有10,000,000条记录时它是否会及时运行.我认为有太多糟糕的设计选择来自那些认为小数据集可以用于开发的人.
在这里,我们不允许开发人员在他们的盒子上有一个单独的数据库(这通常会限制数据库的大小,因为它不是连接到SAN的服务器),而是他们必须对定期刷新的开发数据库起作用. prod(然后运行所有新的dev脚本)以保持数据的正确大小.我认为重要的是你的dev数据库环境尽可能地匹配prod,包括设备配置,数据库的大小等等.没有什么比花费很长时间开发一些在生产上根本无法工作或必须是立即取下,因为它太慢了系统.
现在跳下我的肥皂盒.