2012-03-26 7 views
18

私はEntity Framework 4.3データベースの移行を使用して新しいアプリケーションを作成しました。移行は、 "update-database"コマンドを使用してパッケージマネージャコンソールからうまく機能します。Team Cityからupdate-databaseを実行しています

ここで、Team Cityを使用してアプリケーションをビルドするたびにデータベース移行を実行したいので、これを行うpowershellスクリプトを作成する必要があるようです。

パッケージマネージャーのコマンドをコマンドラインやpowershellから実行する方法については、誰かが指摘できますか?私が見つけることができるのは、Team Managerのビルドステップから実行する方法がわからない、パッケージマネージャコンソールを使用してこれを行う方法に関する説明です。

+2

EF 4.3には、 'Update-Database'と同じ機能を提供する' migrate.exe'というコマンドラインツールが含まれています。 –

答えて

18

migrate.exeは私が探していたもので、 "packages \ EntityFramework.4.3.1 \ tools"にあります。

使用してチーム市の新しいビルドステップ追加:

ランナータイプ:コマンドライン

コマンドの実行可能ファイル:パッケージ\ EntityFramework.4.3.1 \ツールをmigrate.exeの

コマンドパラメータ\を: MyApplicationName/StartupDirectory:MyApplicationName \ bin

6

リポジトリにEntity Framework Nugetをインストールし、パッケージ\ EntityFramework.5.0.0 \ tools \またはそれに相当するディレクトリにあるmigrate.exeを使用します。

は、このようにバッチスクリプトを実行します。

SET AssemblyName=MyMvc4App 
SET StartUpDirectory=MyMvc4App\bin\ 
SET ConnectionString=Server=tcp:XXXX.database.windows.net,1433;Database=XXXX;User ID=XXXX;Password=XXXX;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;MultipleActiveResultSets=True 
SET ConnectionStringProvider=System.Data.SqlClient 
SET ConfigFilePath=%CD%\MyMvc4App\web.config 
SET MigrateExe=packages\EntityFramework.5.0.0\tools\migrate.exe 

%MigrateExe% %AssemblyName%.dll /startUpDirectory:%StartUpDirectory% /startUpConfigurationFile:"%ConfigFilePath%" /connectionProviderName:"%ConnectionStringProvider%" /connectionString:"%ConnectionString%" /verbose 
pause 

私はsimilar questionに答え、そこに私はそれがウェブ/ app.configファイルを指定せずに作業を取得するためには至っていない理由を私が説明します。

関連する問題