Неудачные миграции FluentMigrator не откатываются?

Я только начал экспериментировать с 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.


person Todd Ropog    schedule 23.01.2010    source источник


Ответы (1)


Поддержка транзакций была добавлена 26 января.

person Todd Ropog    schedule 25.01.2010