【问题标题】:Entity Framework code-first migration on external SQL Server (over VPN)外部 SQL Server 上的实体框架代码优先迁移(通过 VPN)
【发布时间】:2018-01-17 06:37:03
【问题描述】:

是否可以使用 EF 代码优先 add-migration(在开发机器上)生成迁移脚本并在只能通过 VPN(客户端内部网络)访问的 prod SQL Server 上使用它?我们无法从开发机器连接到产品数据库,因此我们无法调用 update-database 命令。

如果不知道如何生成可用于生产 SQL Server Management Studio 的插入/更新查询?

谢谢, 彼得

【问题讨论】:

    标签: c# sql-server entity-framework code-first dev-to-production


    【解决方案1】:

    简述

    如果您希望将所有最新更改表示为 SQL 脚本,则可以在 PM 控制台中运行以下命令。

    更新-数据库-脚本-SourceMigration NameOfTheLatestMigrationOnTheServer


    详细介绍

    您可以手动生成SQL脚本,只需运行以下命令:

    更新数据库-脚本

    Code First Migrations 将运行迁移管道,但不会实际应用更改,而是会为您将更改写入 .sql 文件。脚本生成后,会在 Visual Studio 中为您打开,供您查看或保存。

    您可以指定要为其生成脚本的源和目标迁移。

    Update-Database -Script -SourceMigration: "LastMigration" -TargetMigration: "MigrationTo"

    如果您不指定目标迁移,迁移将使用 最新的迁移作为目标。

    如果您不指定来源 迁移,迁移将使用数据库的当前状态。

    调查Getting a SQL Script部分了解更多详情。

    【讨论】:

      【解决方案2】:

      如果我对您的理解正确,您需要 EF 的 SQL 脚本,并且希望它在 Production 处执行。

      如果是,则在包管理器控制台中运行以下命令

      Update-Database -Script
      

      -Script:生成一个 SQL 脚本,而不是直接执行挂起的更改。

      脚本生成后,会在 Visual Studio 中为您打开,供您查看或保存

      【讨论】:

      • 谢谢 - 所有答案都很好,但我只能检查一个。万事如意!
      猜你喜欢
      • 2013-12-29
      • 1970-01-01
      • 1970-01-01
      • 2012-03-23
      • 2017-10-31
      • 2013-01-02
      相关资源
      最近更新 更多