2012-08-28 92 views
1

我想在AppHarbor上部署實體框架,我希望它能夠使用自動遷移進行遷移。如何讓實體框架覆蓋現有的數據庫而不是創建新的數據庫?

我有麻煩做什麼,是在具有系統表的dbo._MigrationHistory表AppHarbor數據庫。在AppHarbor中,我沒有從頭開始創建數據庫的權限(所以我不能讓EF創建它),並且我無法使用備份來恢復它。我認爲唯一能做的就是使用SQL Server的導入/導出嚮導,它不會複製系統表。因此排除了在本地創建數據庫並將其導出到AppHarbor服務器的問題。

對於這個問題以及我過去使用EF的許多其他方法,解決方案是讓EF執行與創建數據庫相同的例程,但只刪除現有數據庫上的所有內容,並從此處開始。 NHibernate就是這樣做的。我可以讓EF做到嗎?

的DontDropDbJustCreateTablesIfModelChanged IDatabaseInitializer建議由AppHarbor並不完全做到這一點很遺憾。

回答

2

您可以創建一個custom SQL generator這將不使用MigrationHistory作爲一個系統表。

+0

這正是我需要的。謝謝。我測試了它,它的功能就像一個魅力。 –

相關問題