【问题标题】:Deploying Entity Framework migration scripts to production database将实体框架迁移脚本部署到生产数据库
【发布时间】:2018-03-01 21:48:18
【问题描述】:

据我所知,我只能通过 Visual Studio 包控制台将迁移脚本应用到数据库。但是,如果我需要将我对数据库所做的最新更改的脚本部署到我无法通过 Visual Studio 访问的生产数据库,该怎么办。有没有办法将 .cs 迁移脚本转换为可以直接通过 SQL Server 应用的 .sql 脚本?或者是否有将数据库更新部署到生产数据库的替代方法?

【问题讨论】:

    标签: entity-framework deployment migration


    【解决方案1】:

    有一个名为 Migrate.exe 的程序(它应该放在你的包文件夹中)应该由你的 CI 系统中的一些部署脚本使用(jenkins/teamcity/visualstudioonline)

    当您使用 NuGet 安装 Entity Framework 时,migrate.exe 将 在下载包的工具文件夹中。在 \packages\EntityFramework.\tools

    拥有 migrate.exe 后,您需要将其复制到 包含您的迁移的程序集。

    您永远不应该考虑从 VISUALSTUDIO 进行迁移

    source

    对于.NET CORE,你可以简单地使用一个命令:

    dotnet ef migrations script --output "script.sql" --context MY_DBCONTEXT
    

    上下文可以是您的本地数据库,但它必须与您的生产数据库处于相同的迁移状态,控制台版本中正在进行大量配置,因此您应该能够谷歌一个地方而不是上下文,你可以放置一个连接字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-04
      • 2018-10-07
      • 2017-01-23
      • 2014-07-08
      • 1970-01-01
      • 2019-06-24
      • 2014-08-10
      • 2017-02-09
      相关资源
      最近更新 更多