2013-10-11 118 views
0

我首先使用代碼來生成數據庫。 我想要通過使用添加遷移生成的遷移來創建數據庫InitialCreate遷移來自哪裏?

數據庫確實使用InitialCreate遷移中的代碼創建。

然而,當我嘗試使用添加遷移一個

我得到一個錯誤

無法因爲以下 明確的遷移正等待產生一個明確的遷移創建後續遷移:[201310112018474_InitialCreate] 。 在嘗試生成 新顯式遷移之前應用待處理的顯式遷移。

我試着運行Update-Database -Targetmigration:0,它列出了過去創建但不再存在的遷移。

PM>更新的數據庫的-Targetmigration:0指定「-Verbose」標誌 查看被施加到目標數據庫的SQL語句。 還原遷移:[201310110726212_two, 201310110719552_InitialSchema,201310090149561_k1]。還原 自動遷移:201310110726212_two。還原自動 遷移:201310110719552_InitialSchema。還原自動 遷移:201310090149561_k1。

「遷移歷史記錄」表只包含初始創建的一條記錄。 我的問題是,PM如何知道這些不再存在的舊遷移?

注意 - 我從遷移文件夾

我使用EF5刪除的遷移,C#的WinForms

回答

0

。在你的解決方案,PM使用遷移的文件夾。

如果您從您的解決方案中刪除了migrations文件夾並運行應用程序,則將從代碼正確創建數據庫。

,如果你有一個現有的數據庫需要遷移,您只需要遷移的文件由於您在代碼所做的(因此數據庫需要反映這一變化)

+0

我編輯的問題,使之變化更清晰。遷移已從遷移文件夾中刪除,並且不在驅動器上。還有更多的數據庫已被刪除,所以歷史表不存在。一些 - PM似乎是在某處緩存歷史。很混亂。 –

+0

您是否也刪除了最初的創建?您應該這樣做,或者最好刪除遷移文件夾。 – RHAD

+0

我以爲是。不幸的是我不能再現這個問題 –