2

FluentMigratorの実験を始めたところです。失敗した移行がロールバックされていないことに気付きました。これはまだ実装されていないだけですか?データベースが壊れた状態のままになるため、これはかなり悪いようです。

たとえば、以下の移行は、Table1 を 2 回目に追加しようとすると明らかに失敗します (エラーを強制するためにこれを行っているだけです)。移行が失敗したときにロールバックされるトランザクションに含まれることを期待します。

[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 に対抗します。

4

1 に答える 1

2

トランザクションのサポートは1 月 26 日に追加されました。

于 2010-01-25T17:42:37.367 に答える