Предположим, что я собрал три таблицы с использованием FluentMigrator и дал им версию № 1, 2, 3 соответственно. Теперь Есть ли способ откатить до версии 2. Я имею в виду После отката я должен иметь таблицу 1 и 2, но не 3.Откат к specfic Миграция в FluentMigrator
0
A
ответ
3
Вот пакетный файл, я использую с командной строкой бегун инструментом
@echo off
if "%1" == "rollback" goto rollback
if "%1" == "" goto migrate
if "%1" == "version" goto version
if "%1" == "down" goto down
goto error
:migrate
migrate -db SqlServer2014 -connection "Server=[YOUR CONNECTTION STRING]" -assembly "[YOUR MIGRATION ASSEMBLY]"
goto done
:rollback
migrate -db SqlServer2014 -connection "Server=[YOUR CONNECTTION STRING]" -assembly "[YOUR MIGRATION ASSEMBLY]" -task rollback:all
goto done
:version
migrate -db SqlServer2014 -version "%2" -connection "Server=[YOUR CONNECTTION STRING]" -assembly "[YOUR MIGRATION ASSEMBLY]"
goto done
:down
migrate -db SqlServer2014 -version %2 -connection "Server=[YOUR CONNECTTION STRING]" -assembly "[YOUR MIGRATION ASSEMBLY]" -task rollback:toversion
:error
echo "No valid command"
:done
echo "Completed"
Тогда вы будете использовать далее вариант: вниз следующим
- Откройте Cmd в каталог пакетный файл существует, бегун DLLs командной строки и DLL миграции сборки должны существовать в этом каталоге
- Выполните следующую [Batch Fil е Имя] .bat вниз [Version ХОЧЕТ ROLLBACK TO: т.е. миграция вы хотите в качестве последнего]
Таким образом, в вашем примере это будет «вниз 2», который будет откатить 3, и вы бы держать 1 и 2.
Дополнительная информация о Command Line Runner