有没有人在EF 4.1代码优先解决方案中部署数据库更改方面有任何最佳实践?我知道MS目前不支持EF 4.1的数据库迁移,但显然人们不时需要这样做。
由于
答案 0 :(得分:8)
将数据库部署到生产环境后,必须进行增量更改。这意味着在部署下一个版本之前,必须在开发框中准备两个数据库:
一旦有了两个数据库,就可以使用一些工具为您制作不同的SQL脚本。我有两种经验:
这些工具适用于SQL服务器。
一旦你有不同的脚本,你可以在开发箱上测试它。请注意,差异脚本无法创建一些更复杂的更改,并且需要您创建自定义迁移脚本,例如在重构实际表时将数据现有数据存储在临时表中。此外,如果您在新版本中使用一些新的种子数据,则必须手动将它们添加到脚本中或使用数据比较工具(两种产品也提供)。
之后,您可以计划生产应用程序的中断,数据库备份并运行升级脚本。