Joe*_*lor 6 ef-migrations entity-framework-4.3
我有一个我最近使用的数据库的本地实例DbContext.Database.Create(),因此该__MigrationHistory表存在一个InitalCreate与当前代码匹配的条目.
但是,迁移文件夹中存在一些基于代码的迁移.这些将在我们的开发和登台环境中运行,以使这些数据库与代码保持一致.但是,我不需要在本地应用它们,因为我使用当前代码创建了数据库.
我现在需要对模型进行更改并创建相应的迁移.但是当我跑步时Add-Migration TestMigration,我得到以下错误
Unable to generate an explicit migration because the following explicit
migrations are pending:
[201203271113060_AddTableX,
201203290856574_AlterColumnY]
Apply the pending explicit migrations before attempting to generate
a new explicit migration.
Run Code Online (Sandbox Code Playgroud)
在这种情况下我该怎么办?我不能将Add-Migration工具指向另一个环境,因为它不能保证版本与我本地的版本匹配.我想要一个只与我所做的更改匹配的迁移.
看来我有几个选择,但没有一个是理想的:
有没有人有任何关于如何管理这个的建议?
我发现最有效的方法非常简单:DbContext.Database.Create()启用迁移后就不要使用。如果您想以编程方式创建新数据库,请改用迁移 API。
var migrator = new DbMigrator(new Configuration());
migrator.Update();
Run Code Online (Sandbox Code Playgroud)
然后,您就获得了完整的迁移历史记录,并且添加进一步的迁移将按预期进行。
| 归档时间: |
|
| 查看次数: |
6155 次 |
| 最近记录: |