FluentMigrator失败迁移不回滚?

时间:2010-01-23 21:23:20

标签: .net fluent-migrator

我刚开始尝试FluentMigrator。我注意到失败的迁移没有被回滚。这还没有实现吗?这似乎相当糟糕,因为它使数据库处于破碎状态。

例如,当尝试第二次添加Table1时,下面的迁移显然会失败(我只是这样做以强制出错)。我希望迁移包含在一个事务中,然后在失败时回滚。

[Migration(1)]
public class AddTable : Migration
{
    public override void Up()
    {
        Create.Table("Table1").WithIdColumn();
        Create.Table("Table1").WithIdColumn();
    }

    public override void Down()
    {
        Delete.Table("Table1");
    }
}

然而,相反的是,运行程序抛出错误(导致控制台应用程序崩溃)并且数据库保留了创建的Table1并且VersionInfo表中没有行。留下一些东西似乎是一种糟糕的状态。

使用最新的FluentMigrator代码(截至今天),Visual Studio 2008并针对SQL Server 2008 Express。

1 个答案:

答案 0 :(得分:2)

1月26日支持交易was added