0

我們有許多移動服務,一對一開發,一個用於生產。這些移動服務使用SQL Azure數據庫作爲存儲庫。發佈後數據庫未更新

總結:

生產服務---->在生產服務器上的生產數據庫

開發,服務---->在開發的服務器上開發,數據庫。

其實我們可以在開發服務上發佈。我們有一個藍色的笑臉(幾秒鐘後出現),並對數據庫(添加列)進行修改。

但是,當我們發佈prod服務。我們也有一個藍色的笑臉(立即出現),但數據庫修改(添加列)沒有出現!

經過調查後,自上次成功發佈以來,兩個環境之間唯一的變化就是prod服務器上的審計激活。由於此審覈已被禁用。

更深刻的是,當我們讀取遷移歷史記錄表時,我們可以看到一行代表開發者,但沒有看到產品。

在開發數據庫:

SELECT [MigrationId] 
     ,[ContextKey] 
     ,[Model] 
     ,[ProductVersion] 
FROM [dev-server-name].[dev-database-name].[__MigrationHistory] 

結果=> 201509240834243_AutomaticMigration最後遷移:今天

在PROD數據庫:

SELECT [MigrationId] 
     ,[ContextKey] 
     ,[Model] 
     ,[ProductVersion] 
FROM [prod-server-name].[prod-database-name].[__MigrationHistory] 

結果=> 201506291336002_AutomaticMigration最後遷移:2015年/ 06/29

有關信息,我們我們所有的生產服務都有這個問題。相反,我們的開發服務完美運作。

我們所有生產服務之間唯一的共同點是託管數據庫的服務器。但是每個服務都有自己的數據庫。

總之,我們不能再對生產中的數據庫發佈任何更改。

非常感謝您的幫助。

+0

請遵循以下指南:http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/migrations-and-deployment-with-the-entity- framework-in-an-asp-net-mvc-application。特別是關於「執行代碼優先遷移」的部分。 –

回答