簡體   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