Сбой миграции FluentMigrator Не откат? - PullRequest
2 голосов
/ 24 января 2010

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

2 голосов
/ 25 января 2010

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

...