.net core(ABP)執(zhí)行數據遷移成功但沒有建立表或者 Table ‘XXX’ already 問題
這里使用的是ABP里的遷移案例,個人比較喜歡在Visual Studio里面的進行遷移,當然用其他方式也適用,畢竟.net core 里面的數據遷移基本是一致的。
1. 打開nuget 管理控制臺
2. 選擇遷移程序所在的目錄
ABP里面將(xxx.DbMigrator)設為啟動項目,將控制臺里面將(xxx.EntityFrameworkCore) 設為默認項目
如圖

執(zhí)行 `Add-Migration xx`? 構建一個新的遷移腳本,我這里以前遷移所有歷史的遷移腳步~

執(zhí)行 `Update-Database` 更新數據庫,如果正常的話,到此整個遷移就完成了。
很不巧 我這里遇到了點問題 ............
-1? “No migrations were applied. The database is already up to date.”執(zhí)行成功但沒有更新數據庫


- 2 如果指定遷移文件 發(fā)行 “The migration '20230307023321_3' was not found” 找不到文件

- 3 Table ‘XXX’ already exists的錯誤問題
我們可以在命令后面加上 `-Verbose? #詳細信息`【`Update-Database -Verbose`】可以看到更新的信息方便定位錯誤。
問題1根據描述 說是找不到程序集,我把編譯切換成Release就行了,之前使用的是debug編譯。

問題2,找不到這個文件也是切換Release編譯就能找到?
問題 3 Table ‘XXX’ already exists的錯誤問題,這個問題我這里其實是因為一直執(zhí)行的是最初的遷移腳本就算我指定為最新的遷移腳本好像也不行


我直接刪除以前的遷移腳步重新執(zhí)行更新語句就可以了,數據庫也能正常的建表與更新!
至于為什么它一直執(zhí)行都是最初的遷移腳本,實力有限我也沒有找到很好的答案~~
那位大佬遇到過,希望能指教一下(抱拳)