EF Core数据库迁移

时间:2020-04-10 11:52:22

标签: c# .net-core entity-framework-core

我知道在ef core中,您可以生成从一个迁移到下一个迁移的迁移脚本。可以说我有5次迁移:

  1. 迁移1
  2. 迁移2
  3. 迁移3
  4. 迁移4
  5. 迁移5

Migration3和Migration4已经应用于数据库,我想为Migration 1、2和5生成脚本。是否可以使用ef核心工具?也许还有其他工具?

2 个答案:

答案 0 :(得分:2)

如果我正确理解了您的问题,您想将迁移部署到数据库吗? 您可以使用.Net Core CLI:

dotnet ef migrations script

这将生成从此迁移到最新迁移的SQL脚本

dotnet ef migrations script xxx_name

您还可以生成从迁移到指定迁移的SQL脚本。

dotnet ef migrations script from_migration to_migration

答案 1 :(得分:0)

每个迁移都基于前一个迁移,并且假定迁移之前已经存在的所有迁移都已生成。乱序应用迁移,或使用除EF core之外的其他方法来修改您要使用它来管理的数据库部分,将是非常危险的。话虽如此,您可以使用dotnet ef migrations script命令来生成从一个迁移到另一个迁移的脚本。还将包括它们之间的所有迁移:

dotnet ef migrations script <FromMigration> <ToMigration> -o "FileName"