使用EF 4.1部署数据库更改

时间:2011-05-02 20:15:25

标签: asp.net entity-framework-4 code-first entity-framework-4.1

有没有人在EF 4.1代码优先解决方案中部署数据库更改方面有任何最佳实践?我知道MS目前不支持EF 4.1的数据库迁移,但显然人们不时需要这样做。

由于

1 个答案:

答案 0 :(得分:8)

将数据库部署到生产环境后,必须进行增量更改。这意味着在部署下一个版本之前,必须在开发框中准备两个数据库:

  • 目前在生产中部署了数据库模式的数据库 - 您应该能够从源代码管理中获取此数据库,以便始终正确地标记/标记您的生产版本
  • 具有新数据库架构的数据库

一旦有了两个数据库,就可以使用一些工具为您制作不同的SQL脚本。我有两种经验:

这些工具适用于SQL服务器。

一旦你有不同的脚本,你可以在开发箱上测试它。请注意,差异脚本无法创建一些更复杂的更改,并且需要您创建自定义迁移脚本,例如在重构实际表时将数据现有数据存储在临时表中。此外,如果您在新版本中使用一些新的种子数据,则必须手动将它们添加到脚本中或使用数据比较工具(两种产品也提供)。

之后,您可以计划生产应用程序的中断,数据库备份并运行升级脚本。