Jas*_*Cav 8 .net database version-control visual-studio
当我正在使用一个新的数据库项目(在VS2008中),并且因为我从未开始从头开始创建数据库,我立即开始研究如何在源代码控制中管理数据库(在本例中为Subversion).
我在SO上找到了一些信息,包括这篇文章:保持多个环境中的开发数据库同步. 其中一个答案特别指出了一些链接,所有这些链接都有很好的有用信息.
我正在阅读K. Scott Allen撰写的一系列文章,描述他如何管理数据库变更.从我的阅读(请原谅我的问题的无意义),似乎数据库本身从未被检查到存储库.相反,可以在存储库中检查可以构建数据库的脚本以及测试数据(也从脚本填充).最终,这意味着,当开发人员测试他或她的应用程序时,将运行这些脚本,这些脚本是构建过程的一部分.这可确保数据库是最新的,但也可以从每个开发人员的计算机本地运行.
这对我来说很有意义(如果我确实正确地阅读了这一点).但是,如果我遗漏了某些内容,我将非常感谢您提供更正或其他指导.此外,另一个问题我要问-这是否也意味着我要不要在检查中密度纤维板或LDF被从Visual Studio中创建的文件?
感谢您的帮助和其他见解.永远感激.
这是正确的,你应该检查脚本而不是数据库文件本身.
我不是建立测试数据的粉丝,除非数据本身将模仿生产所具有的数据的大小(或者在新数据库的情况下是这样).为什么?因为针对具有100条记录的表编写代码并不会告诉您当有10,000,000条记录时它是否会及时运行.我认为有太多糟糕的设计选择来自那些认为小数据集可以用于开发的人.
在这里,我们不允许开发人员在他们的盒子上有一个单独的数据库(这通常会限制数据库的大小,因为它不是连接到SAN的服务器),而是他们必须对定期刷新的开发数据库起作用. prod(然后运行所有新的dev脚本)以保持数据的正确大小.我认为重要的是你的dev数据库环境尽可能地匹配prod,包括设备配置,数据库的大小等等.没有什么比花费很长时间开发一些在生产或根本无法工作的东西更令人沮丧的事情.立即取下,因为它太慢了系统.
现在跳下我的肥皂盒.