sql - Azure ASP.Net MVC 数据库部署最佳实践

标签 sql asp.net-mvc git azure

我们是一个由两名开发人员组成的团队,正在 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/

相关文章:

c# - 是否有可能从 .NET 用户类中删除或解决冲突?

C# 保存对象列表与保存对象(来自 JSON)

asp.net-mvc - ASP.NET MVC 模型绑定(bind)和验证顺序

sql - 如何将记录从字母数字更新为仅数字?

sql - 在 SQL 中使用官方 IANA 时区数据库需要帮助

sql - 有什么方法可以避免此 Oracle 查询中出现联合吗?

git - 我可以使用 SVN 或 Mercurial 只提交部分代码吗?

git - 如何设置 Corkscrew 通过 Draconian 代理连接到 Github

swift - PNChart-swift 不工作

mysql - 错误 1264,我需要 DECIMAL、FLOAT 还是 DOUBLE