0
假设我已经使用FluentMigrator创建了三个表,并分别为它们提供了版本号1,2,3。现在有什么办法来回滚,直到第2版。我的意思是回滚之后我应该有表1和2,但不是3回滚到FluentMigrator中的特定迁移
假设我已经使用FluentMigrator创建了三个表,并分别为它们提供了版本号1,2,3。现在有什么办法来回滚,直到第2版。我的意思是回滚之后我应该有表1和2,但不是3回滚到FluentMigrator中的特定迁移
下面是我用命令行工具亚军
@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"
使用批处理文件然后你可以使用第四个选项:倒在批处理文件所在的目录,在命令行亚军DLL和迁移集DLL如下
因此,在您的示例中,这将是“down 2”,它将回滚3,并且您将保留1和2.