Tag: 数据库架构

使用EF迁移更新生产数据库可以吗?

根据这篇博客文章,大多数使用EF迁移的公司都没有用EF迁移来更新生产数据库的数据库模式。 相反,博客文章的作者build议使用架构更新脚本作为部署过程的一部分。 我已经使用了Schema更新脚本几年了,在他们工作的时候,我计划在未来使用EF迁移,原因如下: 更快的部署,更less的停机时间 更简单的部署过程 现有数据的迁移比使用T-SQL更容易 一个更易于理解的等待应用的变化语法(在传统环境中,使用干净的C#语法的DbMigration类与笨重的T-SQL迁移脚本)。 如果新软件版本的部署失败,那么旧的数据库模式有一个简单而快速的降级path 我能想到的一个原因是禁止使用EF来迁移生产数据库,如果数据库模式只是由DBA而不是开发人员所改变。 但是,我既是DBA又是开发人员,所以这对我来说并不重要。 那么,使用EF更新生产数据库有哪些风险呢? 编辑:我想补充说,正如solomon8718已经build议,我总是拉生产数据库的全新副本到我的登台服务器,并testingEF Migrations应用在登台服务器上,然后将其应用到生产服务器。 IMO对于生产系统的任何模式更新都是必不可less的,无论我是否使用EF迁移。