1

Im使用EF 4.3進行顯式遷移。當定義一個新的遷移並在我的本地開發數據庫上調用Update-Database時,一切正常,只有未應用的遷移纔會應用到數據庫。如何在多個數據庫中使用EF 4.3顯式遷移(dev,staging,prod)

但是,當我嘗試用

Update-Database -ConnectionStringName=MyProdConnectionStringName

似乎分貝狀態和現有__MigrationHistory表被忽略遷移另一個數據庫(即在相同的狀態遷移之前,我開發DB)和ef將所有遷移應用到我的prod數據庫,哪個導致失敗,因爲那裏已經有一些表。

也許它的相關知道,我使用自定義架構爲我的表與[Table("TabName", Schema = "stepid")]。 __MigrationHistory表具有數據庫的默認模式(我的開發機器上的dbo和我的prod環境中的項目)。

回答

0

好的,似乎__MigrationHistory表必須在模式dbo。 EF遷移將在創建數據庫時使用數據庫的默認模式(在我的情況下稱爲「項目」),然後在調用Update-Database時,它不會查詢該表,但假定從未有任何遷移應用於數據庫。

當我手動將模式更改爲dbo時,它的工作方式應該如此。

相關問題