asp核心ef在生产服务器上的迁移

时间:2016-10-17 07:13:00

标签: entity-framework asp.net-core entity-framework-core

无法在生产服务器上执行迁移。 命令“dotnet ef database update”在我的计算机上运行,​​但在生产时失败 我尝试的步骤是: 1.在发布之前,在Visual Studio中填写复选框execute code first migrations。 2. dotnet ef database update无效。我安装了.NET SDK,但它没有所需的库。

任何建议。

2 个答案:

答案 0 :(得分:12)

有几种选择:

  1. 使用dotnet ef migrations script生成SQL脚本并在生产数据库上运行它。
  2. 在应用程序启动期间在运行时调用dbContext.Database.Migrate()(但在运行多个应用程序/数据库客户端时要小心)
  3. 此外,在Microsoft.EntityFrameworkCore.Tools的下一个版本(1.0.0-preview3)中,我们将发送ef.exe,您可以直接指向程序集(而不是project.json文件)来执行迁移。

答案 1 :(得分:2)

您可以通过运行以下命令来生成迁移脚本:

Script-Migration -From older_migration_name -To newer_migration_name -Context ApplicationDbContext

该脚本将具有一个随机名称,并将位于以下路径中:

<Your_Project_Drive>:\<Your_Project_Folder>\<Your_Project_Folder.Model>\obj\Debug\netcoreapp3.1\<Some_Random_Name>.sql

现在,只需在生产服务器的目标数据库上运行该脚本即可。