【问题标题】:Database does not updated after publish发布后数据库未更新
【发布时间】:2015-12-25 08:33:08
【问题描述】:

我们有许多成对运行的移动服务,一种用于开发,另一种用于生产。这些移动服务使用 SQL Azure 数据库作为存储库。

总结:

生产服务---->生产服务器上的生产数据库

Dev-Service ----> Dev-Server 上的 Dev-Database。

实际上我们可以在开发服务上发布。我们有一个蓝色笑脸(几秒钟后出现),并且对数据库进行了修改(添加列)。

但是,当我们在 prod 服务上发布时。我们还有一个蓝色笑脸(立即出现),但数据库的修改(添加列)没有出现!

经过调查,自上次成功发布以来,两个环境之间唯一的变化是 prod 服务器上的审核激活。由于此审核已被禁用。

更深入一点,当我们阅读迁移历史表时,我们可以看到 dev 上的一行,但 prod 上却没有。

在开发数据库上:

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

结果 => 201509240834243_AutomaticMigration 上次迁移:今天

在产品数据库上:

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

结果 => 201506291336002_AutomaticMigration 上次迁移:2015/06/29

有关信息,我们的所有生产服务都存在此问题。相反,我们的开发服务运行良好。

我们所有生产服务之间的唯一共同点是托管其数据库的服务器。但是每个服务都有自己的数据库。

总而言之,我们无法再发布对生产中数据库的任何更改。

提前感谢您的帮助。

【问题讨论】:

标签: sql-server entity-framework ef-code-first azure-mobile-services


【解决方案1】:

试试这个教程,它解释了如何为移动服务启用迁移。听起来您有一个更复杂的环境,但可能某处缺少配置步骤:How to make data model changes to a .NET backend mobile service

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    • 1970-01-01
    • 2014-12-02
    • 2014-07-28
    相关资源
    最近更新 更多