2016-04-26 4 views

答えて

3

表1と2を持っていますが、べきではない私が意味するバージョン2までロールバックするありますどのような方法は、コマンドラインランナーツール

@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に

  1. オープンCmdをを次のようにダウン、そのディレクトリ
  2. 実行に次のように存在する必要があります[Batch Fil [名前]] .bat down [あなたの前に移動したいバージョン]

あなたの例では、「2」になります。これは3をロールバックし、 1および2。

詳細についてはCommand Line Runner

関連する問題