2012-04-24 70 views
13

當涉及到數據庫模式時,我總是發現版本控制有點問題。在DVCS項目中使用實體框架代碼優先遷移

所以 - 我目前正在評估Entity Framework Code First Migrations,到目前爲止我對此印象非常深刻。

我的問題是,有沒有人有任何使用DVCS的團隊使用遷移的經驗?

如果在不同分支機構工作的開發人員都創建自己的Migrations,那麼'Update-Database'工具是否可以很好地處理分支合併時的情況?

我想會發生什麼是一個新的遷移將出現在列表中間。這會被拿起來,還是隻是尋找比最後一次部署更新的遷移?

我很欣賞團隊必須小心不要造成衝突的模式更改 - 這是我們可以管理的事情 - 但是知道'更新數據庫'是否足夠聰明以發現'缺失'會很有用' 移民?

謝謝, 克里斯 -

+2

您是否對此得出結論? – sirrocco 2012-06-25 08:03:55

回答

1

按照一個blog post我能找到的話題,似乎並行開發,無論VCS工具,是與數據庫遷移的EF當前狀態的問題。由於它跟蹤數據庫的狀態,似乎沒有辦法處理這種情況。 Pawel提供example project on GitHub來顯示該問題。

實際上,使用獨立工具處理數據庫遷移可能會更好。我用Migrator.NET取得了很大的成功,它確實能夠處理並行開發人員的模式更改。它還使用相對低技術的方法來跟蹤數據庫「版本」,只要您和您的團隊決定除了通過遷移課程之外沒有人會觸及數據庫,那麼令人驚訝的效果非常好,數據庫的v1)。

+0

請看[FluentMigrator](http://nuget.org/packages/FluentMigrator)。似乎Migrator.NET過時了,這個項目有很多相似之處。我昨晚解僱了它,甚至可以使用現有的Migrator.NET遷移類。 – Sumo 2012-09-27 18:29:48

0

我不認爲它有效,我不認爲有解決辦法。

有關更多詳細信息,請參見this blog post

我的建議是使用不同的工具來管理你的遷移。

相關問題