繁体   English   中英

在显式迁移挂起时添加迁移

[英]Add-Migration while there are explicit migrations pending

因此,当我没有DB同步时(直到最新的迁移,实际上根本没有DB)并且已经对我的模型进行了实质性更改,我在尝试生成迁移时遇到了一个基本问题。

这是具体细节:

  1. 有一系列显式迁移。
  2. 没有数据库。 简而言之,有许多待定的更改。
  3. 对模型/上下文进行了更改。
  4. 在尝试添加迁移时,它会抱怨说明确的迁移是未决的
  5. 如果我尝试通过Update-Database或migrate.exe执行迁移(并使我的数据库同步),它将失败(成功应用显式迁移后), 并且未启用自动迁移。
  6. 我也不想启用自动迁移 (以防止提交任何架构更改并在代码中取消计算。)

我意识到在#5失败后我现在可以运行#4。 然后重新尝试#5和voilá。

我的问题是,如果这是解决这种愚蠢局面的预期方法。

我会使用以下方法。

首先,您需要应用迁移并指定最后一个。

PM> Update-Database -TargetMigration AnyMigrationName

# It updates database to a migration named "AnyMigrationName"
# This will apply migrations if the target hasn't been applied or roll back migrations
# if it has

更新本地数据库后,只需添加新迁移即可。

PM> Add-Migration NewMigrationName

# it scaffolds a new migration named "NewMigrationName" 

寻找一个很好的参考我发现这些关于EF迁移的博客文章可以帮助你很多。 它们涵盖了许多问题,特别是EF迁移和合并冲突以及EF迁移命令参考

当您有许多待迁移的迁移时,会显示此错误。

如果您不需要现有迁移,请首先删除(排除)迁移文件夹上的所有迁移,然后添加新迁移。

Add-Migration new

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM