实体框架代码优先迁移 - 我可以针对以前的迁移
Posted
技术标签:
【中文标题】实体框架代码优先迁移 - 我可以针对以前的迁移【英文标题】:Entity Framework Code First Migrations - Can I target previous migration 【发布时间】:2012-04-04 13:44:45 【问题描述】:我正在使用带有 CCNet 的 migration.exe 来更新部署时的数据库,我想知道如果我决定回滚已发布的版本,是否有办法回滚该更改。
我知道有一种方法可以定位原始版本:$InitialDatabase,还有一种方法可以定位命名迁移 TargetMigration:“AddPostAbstract”。但是迁移目标的名称会在每次部署时发生变化。
有没有什么方法可以针对之前的迁移,不管它的名字是什么?
【问题讨论】:
【参考方案1】:在这种情况下回滚将是手动任务,否则您很可能需要创建一些自定义操作来检查目标数据库的 __MigrationHistory
表并找到目标迁移的名称。
$InitialDatabase
只是 powershell 变量,它的值为 0。使用 powershell 时,您可以创建自己的自定义 $Previous
变量,并使用一些自定义 powershell 脚本从数据库加载迁移名称来填充它。
【讨论】:
以上是关于实体框架代码优先迁移 - 我可以针对以前的迁移的主要内容,如果未能解决你的问题,请参考以下文章