最佳答案
根据 这篇博文,大多数使用 EF 迁移的公司应该不会用 EF 迁移来更新生产数据库的数据库模式。相反,博客文章的作者建议使用 Schema 更新脚本作为部署过程的一部分。
我已经使用 Schema 更新脚本好几年了,当它们工作的时候,我计划在将来使用 EF 迁移,原因如下:
我能想到的禁止使用 EF 迁移生产数据库的一个原因是,如果数据库模式只是由 DBA 而不是开发人员修改的话。但是,我既是 DBA 又是开发人员,所以这对我来说并不重要。
那么,使用 EF 更新生产数据库的风险是什么?
编辑: 我想补充的是,正如 solomon8718已经建议的那样,我总是将生产数据库的一个新副本拉到我的登台服务器上,并在将它们应用到生产服务器之前测试在登台服务器上应用的 EF 迁移。无论我是否使用 EF 迁移,这对于任何生产系统的模式更新都是至关重要的。