我们正在考虑切换到实体框架代码--首先是迁移,然后出现以下场景:
我们有三个待移民:
迁移1作品
迁移2失败
迁移3作品
运行迁移之后,数据库处于什么状态?它会回滚所有东西吗?它是否做迁移1并在2失败时回滚?迁移2回滚,1和3定期完成吗?
任何帮助都很感激。
发布于 2015-11-24 11:12:22
据我所知,在遇到无法应用的迁移时,migrator将中止,但不会回滚任何以前的迁移。在您的示例中,数据库将处于只应用迁移1的状态,您应该会得到一条消息,即迁移2包含错误。
若要强制手动回滚,请使用Update-Database命令和-TargetMigration <Full Migration Name>选项。必须在迁移中定义Down()方法,这样才能正常工作。
为每个单个迁移创建一个事务,并在每次迁移结束时执行,也就是说,每个迁移都完全应用或完全不应用。
https://stackoverflow.com/questions/33891974
复制相似问题