我们是由两名开发人员组成的团队,在Azure中构建ASP.Net MVC应用程序,并且想知道设置数据库的最佳方法是什么。
我们一直在附加到SQL Express的App_Data文件夹中使用本地数据库,这似乎工作正常,直到检查并发生冲突为止。
我们正在使用git检查BitBucket,并且部署从主分支运行到Azure部署数据库。
我们正在使用数据库代码进行首次迁移,并且所有数据都是种子。
有人可以帮忙吗?
答案 0 :(得分:1)
将讨论转移到答案。
关于迁移:
我也在一个由2名开发人员组成的团队中工作。对我们有用的是在开发的早期阶段(模型变化很多)每个人在本地运行自己的数据库(在初始化器中播种的数据)。一旦项目相对稳定,我们就会部署到一个带有SQL Azure数据库的网站。每当模型发生变化时,我们都会添加一个迁移并针对该数据库运行它。我们的团队与您的团队一样小,所以这对我们有用。如果团队成长,我建议设置CI服务器(Team City)。
关于数据库连接
我们不在App_Data中使用.mdf文件。每个人都有一台在其计算机上运行的SQL Server Express本地实例。对于连接字符串,我们设置了4个环境(本地,开发,分段,生产)。这些是在web.config中设置的(您也可以在代码中设置它们,这是您的选择)。当我们运行应用程序时,我们选择我们想要开发的环境。我们使用VS2013部署到Azure网站,每个web.config都根据环境进行相应配置。
我们从web.config获取环境,并且根据我们所处的环境,使用IOC容器(Ninject)将连接字符串注入到应用程序中。
<configuration>
<appSettings>
<add key="environment" value="Development"/>
</appSettings>
</configuration>
希望这有帮助,