回滚到 FluentMigrator 中的特定迁移
Rollback to a specfic Migration in FluentMigrator
假设我使用 FluentMigrator 创建了三个 Table 并分别给它们版本号 1、2、3。现在有什么方法可以回滚到版本 2。我的意思是回滚后我应该有 Table 1 和 2 而不是 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"
那你就用第四个选项: down 如下
- 在批处理文件所在的目录下打开一个Cmd,该目录下需要存在命令行运行器dll和迁移程序集dll
- 运行 以下 [批处理文件名].bat 下载 [您要回滚到的版本:即,您希望作为最后一个迁移]
因此,在您的示例中,这将是 "down 2",这将回滚 3 而您将保留 1 和 2。
使用下面的命令向下迁移到版本2。下面的命令将执行迁移编号大于2的所有文件的down方法。
migrate --conn "<Your Connection String>" --provider sqlserver --assembly "<Dll path of the Migration files assembly>" --task migrate:down --version 2
假设我使用 FluentMigrator 创建了三个 Table 并分别给它们版本号 1、2、3。现在有什么方法可以回滚到版本 2。我的意思是回滚后我应该有 Table 1 和 2 而不是 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"
那你就用第四个选项: down 如下
- 在批处理文件所在的目录下打开一个Cmd,该目录下需要存在命令行运行器dll和迁移程序集dll
- 运行 以下 [批处理文件名].bat 下载 [您要回滚到的版本:即,您希望作为最后一个迁移]
因此,在您的示例中,这将是 "down 2",这将回滚 3 而您将保留 1 和 2。
使用下面的命令向下迁移到版本2。下面的命令将执行迁移编号大于2的所有文件的down方法。
migrate --conn "<Your Connection String>" --provider sqlserver --assembly "<Dll path of the Migration files assembly>" --task migrate:down --version 2