我们遇到这种情况,一组开发人员首先开始使用EF代码开发项目,最初启用了自动迁移。现在我们需要整理混乱,关闭自动迁移,重置每个人的迁移历史记录并“重新开始”,迫使所有开发人员从现在开始使用基于代码的手动迁移。
我一直在关注此答案以清除迁移历史记录(目前已有效): EF - Moving from AutomaticMigrations to Manual Migrations
与此同时,我们希望在部署过程中自动执行基于代码的迁移。
为此,我一直在使用migrate.exe,如下所述: http://msdn.microsoft.com/en-gb/data/jj618307.aspx
我们有一个DAL项目,它包含所有数据对象并处理迁移。
add-migration test
。现在,我在DAL / Migrations文件夹中有两个基于代码的迁移:一个用于初始创建,另一个用于修改我已更改的列。 (他们都有.resx和.Designer.cs兄弟)
我正在尝试运行migrate.exe以应用上次迁移(测试),如下所示:
migrate.exe MyApp.DAL.dll /startupConfigurationFile="..\..\app.config"
它运行,然后打印 没有待处理的基于代码的迁移。 然后失败,因为它想要运行自动迁移,并且失败,因为它已关闭。 (没关系,因为我不想自动迁移)
出于某种原因,migrate.exe 没有看到我的基于代码的迁移文件。 我做错了什么?
(如果我尝试从PM控制台应用相同的迁移,那么有效)