2010-01-23 3 views
2

Я только начал экспериментировать с FluentMigrator. Я заметил, что неудачные миграции не откатываются. Это еще не реализовано? Это кажется довольно плохим, потому что он оставляет базу данных в разбитом состоянии.Ошибка переноса FluentMigrator Не откат?

Например, переход ниже, очевидно, не удастся, когда он попытается добавить таблицу 1 во второй раз (я просто делаю это, чтобы вызвать ошибку). Я ожидал бы, что миграция будет содержаться в транзакции, которая затем будет откатываться при сбое.

[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.

ответ