EF Migrations-现有数据库,但希望从头开始部署
-
11-12-2019 - |
题
我有一个现有的dev DB与模式和数据。我使用microsoft实用程序(CodeFirst类)创建了这些类。然后我启用了迁移。
现在我对IgnoreChanges的行为感到困惑。如果初始迁移没有Up()和Down()逻辑,当我部署到prod db时会发生什么?
EF是否只是忽略所有迁移,而只是直接从模型从头开始构建?
如果我不放入-IgnoreChanges,所有的Up()和Down()逻辑都在那里。但在Update-Database时,它会引发有关已存在同名表的异常。
我正在使用EF5RC。
解决方案
IgnoreChanges
适用于您拥有现有应用程序(在dev和prod中)并且希望开始使用迁移的场景。 IgnoreChanges
威尔 简化添加初始迁移 到现有数据库。如果您处于不存在生产数据库的情况下,则不能使用忽略更改。
对于您的情况,直接的选择是从现有数据库创建实体,并继续处理从这些实体迁移创建的另一个数据库,因为您需要为以下所有实体创建表 Up
方法(和 Down
方法分别)。
不隶属于 StackOverflow