Database Entity Framework 5代码优先迁移准备好投入生产了吗?

Database Entity Framework 5代码优先迁移准备好投入生产了吗?,database,entity-framework-4.1,entity-framework-5,entity-framework-migrations,Database,Entity Framework 4.1,Entity Framework 5,Entity Framework Migrations,我正在做一些关于EF5的研究,发现了这个 答案中的说法对我来说很有意义 但现在,在EF5中,我们有了迁移。 假设我首先用代码构建了一个应用程序,它现在已经启动并运行了一段时间,敏感的用户数据已经积累在数据库中。考虑模型需要更改的情况。 仅仅更新POCO并让迁移负责更新数据库是否完全安全,或者是否需要做任何准备以防止数据丢失 (希望这里有一位在实时应用程序中首先进行代码设置和迁移的人)进行任何类型的数据库更改都不是完全安全的,因为您可能在迁移代码中出错,或者可能存在导致问题的磁盘错误。。。确实存在

我正在做一些关于EF5的研究,发现了这个
答案中的说法对我来说很有意义

但现在,在EF5中,我们有了迁移。 假设我首先用代码构建了一个应用程序,它现在已经启动并运行了一段时间,敏感的用户数据已经积累在数据库中。考虑模型需要更改的情况。 仅仅更新POCO并让迁移负责更新数据库是否完全安全,或者是否需要做任何准备以防止数据丢失


(希望这里有一位在实时应用程序中首先进行代码设置和迁移的人)

进行任何类型的数据库更改都不是完全安全的,因为您可能在迁移代码中出错,或者可能存在导致问题的磁盘错误。。。确实存在很多潜在问题,因此您必须在执行迁移或任何其他类型的数据库更改之前进行备份。

首先,在生产过程中,请确保您的DBMIGRIONSCONFIGURATION sets
AUTOMATICMIGRIONSENABLE=false
。然后在更改模型后,执行命令
addmigration
。这将生成更改数据库的命令,您可以在执行之前查看是否删除了某些内容。通过这种方式,您可以完全控制数据库中发生的情况。

如果您拥有有价值的数据,您将始终希望对其进行备份—不仅在数据库升级之前,而且可能每天都要备份,以防数据库出现故障时丢失数据。