4

我正在做EF5的一些研究,并且遇到了这个问题question.
答案中提出的权利要求对我有意义。实体框架5代码优先迁移准备生产?

但是现在,在EF5中我们有迁移。 因此,让我们说我已经用Code First构建了一个应用程序,现在它已经启动并运行了一段时间,敏感的用户数据已经在数据库中累积了。考虑模型需要改变的情况。

仅更新POCOS并让Migrations负责更新数据库是否完全安全,还是需要做任何准备工作才能防止数据丢失?

(会喜欢在这里的人谁在现场的应用程序必须的Code First和迁移的工作设置)

+0

如果您拥有有价值的数据,您总是希望对其进行备份 - 不仅在任何升级到数据库之前,而且可能每天都会在数据库出现故障时不会丢失数据。 – Pawel

回答

0

这是从来没有完全安全做任何类型的数据库的变化,因为你可能会在迁移做出错误代码,或者可能存在导致问题的磁盘错误......真的存在很多潜在问题,所以您必须在执行迁移之前进行备份或任何其他类型的数据库更改。

3

首先,在生产时确保您的DbMigrationsConfiguration设置为AutomaticMigrationsEnabled = false。然后在更改模型后,执行命令Add-Migration。这将生成用于更改数据库的命令,并且可以在执行之前查看是否有任何内容被丢弃。这样你可以完全控制数据库上发生的事情。

相关问题