2016-11-14 167 views
4

我想使用EF代碼第一次遷移來在數據庫中創建我的模型。但是,我將使用的數據庫已經存在並由其他應用程序共享。我的問題是:EF Code First Drop Database?

遷移擦除數據庫?那將是一場災難! 遷移是否會抹去任何東西?

回答

1

問:遷移是否擦除數據庫?

- 答:不,你可以做到這一點,而不刪除它。

您必須按如下所示在包裝管理器控制檯上執行此操作。

步驟1:

PM > Add-Migration InitialCreate –IgnoreChanges 

上述命令將創建一個空的遷移與當前模型作爲快照。

第2步:

PM > Update-Database 

上面的命令將應用遷移InitialCreate到數據庫。因此,實際遷移不包含任何更改,它將在__MigrationsHistory表中添加一行,表明此遷移已應用。

您可以在這裏閱讀更多關於它的信息:CF Migrations with an existing database

0

我通常在這種情況下做的是創建到現有數據庫的遷移,然後將所有內容從Up和Down方法中移除並運行更新。通過這種方式,您的代碼首次遷移將與數據庫中當前的最新數據保持同步,因此,通過添加第二次遷移,任何新的模式更改都將成爲唯一的選擇。