我已經從運行到Azure的TFS連續傳遞到C#項目,這很好。通過使用Team Foundation服務將SQL數據庫連續傳遞到Windows Azure
我現在想要連續交付使用我的SQL數據庫。
目前我有一個SQL 2008 R2數據庫,它包含數據庫。
什麼是最好的選擇,以確保我可以提供使用從TFS連續交付包括數據庫更改?
重要的是它需要在簽入TFS時自動執行。
我已經從運行到Azure的TFS連續傳遞到C#項目,這很好。通過使用Team Foundation服務將SQL數據庫連續傳遞到Windows Azure
我現在想要連續交付使用我的SQL數據庫。
目前我有一個SQL 2008 R2數據庫,它包含數據庫。
什麼是最好的選擇,以確保我可以提供使用從TFS連續交付包括數據庫更改?
重要的是它需要在簽入TFS時自動執行。
我剛剛遇到了這個問題,發現很難找到指導,但已經在我的應用程序中進行了管理,我對MVC和Azure非常陌生,所以請原諒,如果這不是太詳細。
這就是我所做的;
在我的Global.asax.cs Application_start()
我說:
Database.SetInitializer(new MigrateDatabaseToLatestVersion<ApplicationDbContext, Configuration>());
哪裏ApplicationDbContext
是您的上下文的名稱。請記住添加對Models
課程和Migrations
課程的參考。
當你這樣做時,我認爲當上下文第一次被調用並且它不會刪除並重新創建數據庫時,數據庫上會運行遷移。
我遇到的一個問題是,我收到一個錯誤,指出對象已經存在於數據庫中,因爲__MigrarionHistory
表中沒有任何遷移數據,因此它試圖從頭開始創建數據庫。幸運的是我的應用程序還沒有生效,所以我可以刪除這些表並提交給TFS,並且它重新創建了所有內容,並且包含所有__MigrationHistory
,所以現在,任何新的代碼第一次遷移都會在第一次命中時運行並且數據庫被更新。如果這個數據庫是活的,我不知道該怎麼辦!
希望有幫助
這是不是針對EntityFramework代碼?我有的項目類型是一個數據庫項目 – Coppermill 2014-02-09 15:31:07
啊,道歉 - 我認爲這是一個EntityFramework代碼的第一個項目。抱歉! – Bizzle 2014-02-09 15:53:01