【发布时间】:2014-05-07 19:26:03
【问题描述】:
我一直在笔记本上的 Visual Studio 2013 中开发我的应用程序,最后我决定将代码放在服务器(Windows Server 2012)上,所以我备份了我的 MS SQL 数据库,在生产服务器上恢复它,复制了我的代码,创建了一个站点并最终得到以下消息:
System.Data.SqlClient.SqlException:数据库中已经有一个名为“MyUserInfoes”的对象。
我使用 ASP.NET 身份,无法避免使用 自动迁移。不管怎样,我确实设置了
Public Sub New()
AutomaticMigrationsEnabled = True
AutomaticMigrationDataLossAllowed = True
End Sub
在 Configuration.vb 文件中,但没有任何改变。
自动迁移坚持在生产服务器上运行,我无法阻止它。请问这里有什么建议吗?谢谢!
【问题讨论】:
-
您确定已迁移到数据库备份中的 migrationHistory 表?
-
是的,我在,表在那里,完整的数据库备份和恢复
-
看起来
__MigrationHistory中的元数据与实际的数据库架构不同步,因为它试图添加一个已经在数据库中的表。 prod 和 dev 服务器上的用户是否有不同的默认架构? -
不,除操作系统版本(Win 8.1、Win Server 2012)外,开发和生产系统上的一切都相同。我尝试运行“add-migration initial”加上“update-database”来获取空的 Up 和 Down 方法,但它没有帮助。是否有机会完全避免迁移?
标签: asp.net sql entity-framework entity-framework-migrations asp.net-identity