2012-03-26 1 views
18

Entity Framework 4.3 데이터베이스 마이그레이션을 사용하여 새 응용 프로그램을 만들었습니다. 마이그레이션은 "update-database"명령을 사용하여 패키지 관리자 콘솔에서 훌륭하게 작동합니다.Team City에서 update-database 실행

이제 Team City를 사용하여 응용 프로그램을 빌드 할 때마다 데이터베이스 마이그레이션을 실행하고 싶습니다.이 작업을 수행 할 PowerShell 스크립트를 만들어야합니다.

누구든지 패키지 관리자 명령을 명령 줄 또는 powershell에서 실행하는 방법에 대한 지침을 알려줄 수 있습니까? 내가 찾을 수있는 것은 팀 관리자 빌드 단계에서 실행하는 방법을 알지 못하는 패키지 관리자 콘솔을 통해이를 수행하는 방법에 대한 지침입니다.

+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

repo에 Entity Framework Nuget을 설치하고 packages \ 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 파일을 지정하지 않고이 작업을 진행 아직 이유가 내가 설명합니다.

관련 문제