在開發過程中,我喜歡像Entity Framework 4.3 Migrations這樣的框架(儘管我需要它使用sql腳本而不是Migration類),使所有開發人員數據庫保持最新狀態。有人進行更新以獲取最新源代碼,他們嘗試運行應用程序並獲取他們需要將其數據庫更新到最新遷移(或自動發生遷移)的錯誤。遷移文件具有時間戳,因此開發人員不必擔心命名兩個文件相同或文件需要執行的順序。設計完整的數據庫遷移堆棧
當我準備構建WebDeploy部署包時,我希望包中包含將生產數據庫移至最新的db版本所需的腳本。所以不知何故,MSBuild或WebDeploy需要決定哪些腳本必須打包。對於部署,我不希望應用程序嘗試像EF提供的那樣嘗試自我更新。我想要將軟件包交給IT部門,或者通過部署服務器進行自動部署。
我的一些問題是:
能EF 4.3使用SQL腳本,而不是DBMigration班我的發展需要的工作(我已經使用它爲我的ORM所以它如果能夠很好)?
MSBuild或WebDeploy是否理解數據庫遷移的概念(例如它是否識別EF 4.3遷移歷史表),還是必須確保僅爲其提供運行所需的腳本,以便將我的prod db到最新的遷移?手動確定應該包含哪些腳本不是我想要做的,因此是否存在理解遷移的MS WebDeploy擴展?
我的擔憂和想法是否有效?我只是在研究這個東西,所以我不知道。