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

Lap*_*mir 5 entity-framework entity-framework-core asp.net-core

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

任何建议都是指定的.

bri*_*lam 12

有几种选择:

  1. 使用生成SQL脚本dotnet ef migrations script并在生产数据库上运行它.
  2. dbContext.Database.Migrate()在应用程序启动期间在运行时调用(但运行多个应用程序/数据库客户端时要小心

此外,在下一个版本(1.0.0-preview3)中Microsoft.EntityFrameworkCore.Tools,我们将发货ef.exe,您可以直接指向程序集(而不是project.json文件)来执行迁移.

  • 添加“--idempot”以获取仅应用未应用的迁移的脚本。或者您可以指定 *to* 和 *from* 参数来获取一系列迁移的脚本 (2认同)

Saj*_*dan 5

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

Script-Migration -From older_migration_name -To newer_migration_name -Context ApplicationDbContext
Run Code Online (Sandbox Code Playgroud)

该脚本将有一个随机名称,并将驻留在以下路径中:

<Your_Project_Drive>:\<Your_Project_Folder>\<Your_Project_Folder.Model>\obj\Debug\netcoreapp3.1\<Some_Random_Name>.sql
Run Code Online (Sandbox Code Playgroud)

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