Сбой миграции 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.