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