如何通过Visual Studio Online部署到Azure网站时运行EF迁移

时间:2014-04-21 06:21:59

标签: entity-framework azure azure-devops

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

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

2 个答案:

答案 0 :(得分:4)

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

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

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

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

答案 1 :(得分: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"

  3. 这就是全部!

    最诚挚的问候, 蒂亚戈