[英]How to solve Update-Database issue when switching branch?
我有一個實體,在Branch A中有一個列為int
。 現在,我切換到另一個B分支。 在這里,我創建一個遷移並將列更改為varchar
並運行Update-Database
。 現在,如果我再次切換到分支A。 如果我在代碼中看到列數據類型為int
,但是在數據庫中,其數據類型為varchar
。 但是我希望它的數據類型為int
。 我什至不能從分支A中刪除此遷移,因為它是在分支B中創建的。我只能看到一種解決此問題的方法是刪除數據庫並運行Update-Database
,但是這樣做會丟失所有數據。 有沒有更好的方法來解決此問題。
我正在使用實體框架核心2.0.1。
我可以想到兩種選擇:
Update-Database name-of-previous-migration
從數據庫進行Update-Database name-of-previous-migration
例如,假設您進行了以下遷移:
20180214094058_Initial.cs
20180216100541_FirstMigration.cs
20180218185111_MigrationBranchB.cs
您可以通過Update-Database FirstMigration
取消應用MigrationBranchB
(這將調用MigrationBranchB
的Down
方法)。
相關文件 :
還原遷移
如果您已經對數據庫應用了遷移(或多個遷移),但是需要還原數據庫,則可以使用相同的命令來應用遷移,但是要指定要回滾的遷移的名稱。
Update-Database LastGoodMigration
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.