如何使用mvc中的代码优先迁移来更新实时mssql数据库

时间:2014-03-21 09:01:38

标签: sql-server asp.net-mvc entity-framework asp.net-mvc-5 ef-migrations

我复制了数据库并启动了网站。现在我添加了一个功能(例如,模型中的一个新属性导致在某个表中创建一个列),我将文件复制到服务器并更新网站。但是,我该如何处理sql server的更新。我知道我可以在-Script命令中使用Update-Database生成脚本,但是,如果我忘记这样做会怎样。我可以以某种方式查看较旧迁移的脚本,以便我可以在我的服务器中运行它们吗?

1 个答案:

答案 0 :(得分:1)

如果您使用的是Entity Framework Migrations,则可以使用数据库初始化程序MigrateDatabaseToLatestVersion。在开发计算机上,您可以执行迁移,测试等所有工作,当您对结果感到满意时,使用更新的代码库将工作迁移发送到服务器,然后重新启动服务器。上下文完成其余的工作。

  

如果要部署应用程序,则可能希望在应用程序启动时自动升级数据库(通过应用任何挂起的迁移)。您可以通过注册MigrateDatabaseToLatestVersion数据库初始化程序来完成此操作。数据库初始化程序只包含一些逻辑,用于确保正确设置数据库。第一次在应用程序进程(AppDomain)中使用上下文时运行此逻辑。