2013-05-15 49 views
2

隨着我的項目進展,我添加了越來越多的實體/屬性/關係。目前我有大約30個遷移文件,每個都描述了我作爲遷移添加的一個步驟。EF Code First - 擺脫遷移文件

是否有一種快速且優雅的方式將所有這些步驟(Up方法中指定的內容)應用到上下文中並刪除這些文件?

最初我手動做了,但現在它太多了,我覺得必須有一個自動工具/命令,不是嗎?

乾杯! J

回答

1

如果我正確地理解了你,你希望能夠在一個遷移中從初始數據庫模式或早期數據庫模式移動到當前數據庫模式?

您需要從項目中排除當前的遷移文件,並根據更新空數據庫模式或初始數據庫模式創建新遷移。

您可以從您的版本控制系統中提取早期版本的源代碼,並使用它來構建新的TEST數據庫。

一旦創建了測試數據庫,你可以改變的最近的項目的代碼版本在web.config指向測試數據庫。

現在您應該能夠針對舊的TEST數據庫模式運行Add-Migration命令。

這應該爲您提供一個計劃,其中包含將數據庫更新到當前上下文版本所需的所有命令。

唯一的問題是您可能會丟失種子數據。

如果您的數據庫需要播種,您可能需要修改您的種子代碼的執行。

+0

嗨,謝謝你的回答!不,我期望做更簡單的事情..我只想將所有遷移文件合併爲一個,這將作爲初始模式文件。刪除它們然後添加遷移將無濟於事,因爲我定製了多次生成的遷移文件,如果刪除這些文件,這些定製將會丟失。對我來說似乎是一個必要的工具。 – justabuzz