由于我正在处理一个新的数据库项目(在VS2008中),而且我从未从头开发过一个数据库,因此我立即开始研究如何在源代码管理中管理数据库(在此案例,Subversion)。在源代码管理中管理我的数据库
我发现了一些关于SO的信息,包括这篇文章:Keeping development databases in multiple environments in sync。 One of the answers in particular指向一些链接,所有链接都有很好的有用信息。
我正在阅读K. Scott Allen的series of posts,它描述了他如何管理数据库更改。从我的阅读中(请原谅我的问题的无差别),似乎数据库本身从未被检入到存储库中。相反,可以构建数据库的脚本以及测试数据(也可以从脚本填充)被检入到存储库中。最终,这意味着,当开发人员测试他或她的应用程序时,这些脚本(构建过程的一部分)将运行。这可以确保数据库是最新的,但也可以从每个开发人员的计算机本地运行。
这对我有意义(如果我确实正确阅读)。但是,如果我错过了某些东西,我会很感激更正或附加的指导。此外,我想问另一个问题 - 这是否也意味着我应该不检查mdf或ldf从Visual Studio创建的文件?
感谢您的帮助和其他见解。永远感激。
我可以问一下你最终选择哪种方法吗?你是否开发数据库从生产中退出(确保'好'的测试数据),还是将数据作为构建过程的一部分进行填充? – 2010-07-01 09:03:12
@David - 目前我们将我们的开发数据库作为构建过程的一部分进行填充。在这一点上,我们不需要模仿数据的大小(我们将确保在以后这样做)。这可能是短视的(同样,我第一次这样做),但是,目前我没有可用的服务器,我只能用于开发数据库,所以我受限于资源可用性。 – JasCav 2010-07-01 12:49:42
所以,如果我理解正确,你没有使用生产数据库,因为你的服务器不能容纳这将需要的大小?或者还有其他原因? – 2010-07-01 16:24:28