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。特别是关于“执行代码优先迁移”的部分。 –

回答