Entity framework 生产服务器上的asp核心ef迁移
无法在生产服务器上执行迁移。 命令“dotnet ef database update”在我的计算机上运行,但在生产中失败 我尝试的步骤是: 1.在发布之前,在Visual Studio中填写复选框Entity framework 生产服务器上的asp核心ef迁移,entity-framework,asp.net-core,entity-framework-core,Entity Framework,Asp.net Core,Entity Framework Core,无法在生产服务器上执行迁移。 命令“dotnet ef database update”在我的计算机上运行,但在生产中失败 我尝试的步骤是: 1.在发布之前,在Visual Studio中填写复选框执行代码优先迁移。 2. dotnet ef数据库更新不工作。我安装了.NET SDK,但它没有所需的库 任何建议都会出现。有几个选项: 使用dotnet ef migrations script生成SQL脚本,并在生产数据库上运行 在应用程序启动期间的运行时调用dbContext.Database.
执行代码优先迁移
。
2. <代码>dotnet ef数据库更新不工作。我安装了.NET SDK,但它没有所需的库
任何建议都会出现。有几个选项:
dotnet ef migrations script
生成SQL脚本,并在生产数据库上运行dbContext.Database.Migrate()
(但在运行多个应用程序/数据库客户端时要小心)另外,在Microsoft.EntityFrameworkCore.Tools的下一个版本(1.0.0-preview3)中,我们将提供
ef.exe
,您可以直接指向程序集(而不是project.json
文件)来执行迁移。您可以通过运行以下命令生成迁移脚本:
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
:\\\obj\Debug\netcoreapp3.1\.sql
现在只需在生产服务器的目标数据库上运行该脚本。两种方法都有效!谢谢你对ef.exe的提示。正在等待预览3:)我应该将迁移生成的脚本放在生产服务器的何处?@bricelam是否为自初始迁移以来的所有更改生成脚本?在生产数据库上运行脚本后,将来如何应用更新的迁移?如何跟踪生产服务器上更新的内容?添加
--idempotent
以获取仅应用未应用迁移的脚本。或者,您可以指定to和from参数,以获取一系列迁移时间的脚本,该答案应在@bricelam更新。我们的dotnet 5.0令人惊叹,工作起来非常有魅力