EF迁移 - 现有数据库但希望从头开始部署

时间:2012-07-26 07:22:33

标签: entity-framework ef-migrations

我有一个包含架构和数据的现有dev DB。我使用microsoft实用程序(CodeFirst类)创建了类。然后我启用了迁移。

现在我对-IgnoreChanges的行为感到困惑。如果初始迁移没有Up()和没有Down()逻辑,那么当我部署到prod db时会发生什么?

EF是否只是忽略所有迁移,只是直接从模型构建?

如果我没有输入-IgnoreChanges,那么所有Up()和Down()逻辑都在那里。但是在Update-Database上,它会抛出一个关于已存在同名的表的异常。

我正在使用EF 5 RC。

1 个答案:

答案 0 :(得分:1)

IgnoreChanges适用于您拥有现有应用程序(在dev和prod中)并且您想要开始使用迁移的情况。 IgnoreChangessimplify adding initial migration发送到现有数据库。如果您处于不存在生产数据库的情况下,则无法使用忽略更改。

您的案例的直接选项是从现有数据库创建实体并继续处理从这些实体迁移所创建的另一个数据库,因为您需要在Up方法中为所有这些实体创建表(以及{{1}分别)}。