EF migrate.exe看不到我的基于代码的迁移文件

时间:2013-12-03 14:53:56

标签: entity-framework ef-code-first entity-framework-5 ef-migrations

我们遇到这种情况,一组开发人员首先开始使用EF代码开发项目,最初启用了自动迁移。现在我们需要整理混乱,关闭自动迁移,重置每个人的迁移历史记录并“重新开始”,迫使所有开发人员从现在开始使用基于代码的手动迁移。

我一直在关注此答案以清除迁移历史记录(目前已有效): EF - Moving from AutomaticMigrations to Manual Migrations

与此同时,我们希望在部署过程中自动执行基于代码的迁移。

为此,我一直在使用migrate.exe,如下所述: http://msdn.microsoft.com/en-gb/data/jj618307.aspx

我们有一个DAL项目,它包含所有数据对象并处理迁移。

  1. 我已将migration.exe从/packages/EntityFramework.5.0.0复制到DAL / bin / Debug。
  2. 我已将我的数据库更新为最新版本,然后清除了我的迁移历史记录表。
  3. 我在其中一个模型中更改了StringLength属性并运行add-migration test
  4. 现在,我在DAL / Migrations文件夹中有两个基于代码的迁移:一个用于初始创建,另一个用于修改我已更改的列。 (他们都有.resx和.Designer.cs兄弟)

    我正在尝试运行migrate.exe以应用上次迁移(测试),如下所示:

    migrate.exe MyApp.DAL.dll /startupConfigurationFile="..\..\app.config"
    

    它运行,然后打印 没有待处理的基于代码的迁移。 然后失败,因为它想要运行自动迁移,并且失败,因为它已关闭。 (没关系,因为我不想自动迁移)

    出于某种原因,migrate.exe 没有看到我的基于代码的迁移文件。 我做错了什么?

    (如果我尝试从PM控制台应用相同的迁移,那么有效)

0 个答案:

没有答案