Откат к предыдущей версии в Fluent Migrator

Я пытаюсь заставить миграции работать с моим проектом, используя беглый миграционный. Но из-за отсутствия документации я изо всех сил пытаюсь понять, как выполнить откат и вызвать метод Down для моего класса миграции.

Я установил db с классом начальной версии 1:

[Migration(1)]
public class Baseline : Migration
{
    public override void Up()
    {
        Execute.Script("1_Baseline\\baseline.sql");
    }

    public override void Down() { }
}

Я запускаю миграцию через пакетный файл, содержащий следующее:

"....\tools\fluentmigrator\migrate.exe" --connection "Источник данных=.\sqlexpress;Исходный каталог=ekmDomains;Интегрированная безопасность=true;multipleactiveresultsets=true;" --db SqlServer2005 --target "bin\Release\EkmDomains.Migrations.dll"

Это прекрасно работает. Поэтому я написал второй класс миграции только для того, чтобы проверить его:

[Migration(2)]
public class AddNewTable : Migration
{
    public override void Up()
    {
        Create.Table("NewTable").WithColumn("name").AsString();
    }

    public override void Down()
    {
        Delete.Table("NewTable");
    }
}

Снова после запуска командного файла все работает нормально. Затем я посмотрел параметры командной строки для инструмента Fluent migrator и увидел параметр --version. Я предполагал, что для отката к предыдущей версии я просто поставлю --version 1, и будет вызван Down из AddNewTable. Однако этого не произошло. Консоль просто отображает метод «фиксация транзакции», а затем закрывается. Но таблица не была удалена и номер версии не изменился.

Я делаю это неправильно или кто-нибудь может увидеть какой-то фундаментальный недостаток в том, как я это делаю?


person jcvandan    schedule 05.12.2011    source источник


Ответы (1)


Чтобы перейти вниз, вы используете -t migrate:down. Помимо вниз и вверх, в справке для migrate.exe также перечислены откат, rollback:toversion и rollback:all.

person iheartsql    schedule 06.12.2011
comment
Все это более подробно описано в документы консоли fluent migrator - person Liam; 06.06.2018