【问题标题】:How to run EF migrations when deploying to Azure Website via Visual Studio Online通过 Visual Studio Online 部署到 Azure 网站时如何运行 EF 迁移
【发布时间】:2014-06-05 04:46:12
【问题描述】:

我有一个配置为从 Visual Studio Online(托管 TFS)部署的 Azure 网站。我正在评估从 Database First 模型到 Code First 从现有数据库 模型的转变。

目前,当我将代码签入到 Visual Studio Online 时,它​​已部署到 Azure 网站。当我将代码签入到 Visual Studio Online 时,如何配置此过程以在远程(实时或测试)Azure SQL 数据库上运行 EF 迁移。

【问题讨论】:

    标签: entity-framework azure azure-devops


    【解决方案1】:

    AFAIK,您需要使用发布配置文件选项来实现此目的。

    您必须下载网站的发布配置文件设置文件,在 Visual Studio 中导入文件,配置执行代码优先迁移选项,然后指定配置文件构建定义中用于持续部署的路径。

    您可以查看以下帖子以供参考。

    http://blogs.msdn.com/b/webdev/archive/2014/04/09/ef-code-first-migrations-deployment-to-an-azure-cloud-service.aspx

    【讨论】:

    • 感谢杰汉的回答。我知道发布工具中的这个选项。但我正在寻找通过源代码控制(Visual Studio Online)使用部署的方法。
    • 我的回复中提到的步骤是使用发布选项通过 Visual Studio Online 构建进行部署。
    • 那么有没有办法通过持续部署做到这一点?
    • 嘿@DanJosef,我刚刚问了一个类似的问题:stackoverflow.com/questions/35107531/…
    【解决方案2】:

    我知道这是一个旧帖子,但我找不到一个好的答案,所以在弄清楚如何解决它之后,我正在分享一个解决方案。我在一个具有 DDD 和 N 层级别的项目中工作。因此,这意味着 EF 与 WebApi 不在同一个项目中,因此在发布向导期间没有运行迁移的选项。为了解决这个问题,我直接从包管理器控制台运行了 update-database。

    步骤:

    1. 获取 ADO 连接字符串 (https://azure.microsoft.com/en-us/documentation/articles/sql-database-connectivity-issues/#connections-to-azure-sql-database)

    2. 从包管理器控制台运行:Update-database -StartUpProjectName NAMEPROJECTWITHEF -ConnectionString "connection string obtained from item one" -ConnectionProviderName "System.Data.SqlClient"

    就是这样!

    最好的问候, 蒂亚戈

    【讨论】:

      猜你喜欢
      • 2014-02-08
      • 2015-10-27
      • 1970-01-01
      • 1970-01-01
      • 2015-08-20
      • 2015-04-24
      • 1970-01-01
      • 2017-10-07
      • 2014-12-20
      相关资源
      最近更新 更多