使用EF 4.1部署数据库更改

Rep*_*tec 9 asp.net code-first entity-framework-4 entity-framework-4.1

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

谢谢

Lad*_*nka 8

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

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

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

这些工具适用于SQL Server.

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

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