소스 컨트롤에서 게시 할 때 Windows Azure에 대한 코드 첫 번째 엔티티 프레임 워크 이주를 활성화하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com//questions/23013671

문제

나는 소스 제어를 통해 자동으로 Azure에 게시하는 프로젝트가 있습니다.엔티티 프레임 워크 컨텍스트에 적절한 연결 문자열을 갖도록 Azure를 구성했습니다.웹 사이트와 관련된 Azure 데이터베이스에서 마이그레이션을 자동으로 실행해야합니다.

게시 대화 상자에 옵션이 있는지 알고 있지만 Web.config에있는 Magic을 수동으로 추가하여 Azure가 마이그레이션을 적용하도록 알려줍니다.Azure가 소스 컨트롤에서 마이그레이션을 실행하는 데 필요한 것은 무엇이며, 이것이 가능하지 않은 경우 다른 방법이 있습니까?

EF 6을 사용하고 있습니다

도움이 되었습니까?

해결책

Run에서 마이그레이션하도록 컨텍스트를 구성하는 것이 필요합니다.실행중인 프로세스마다 한 번만이 작업을 수행해야하므로 컨텍스트의 정적 생성자가

를 넣을 예정한 장소입니다.
static MyContext()
{
    Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Data.Migrations.Configuration>());
}
.

또한 연결 문자열이 Azure에서 구성되어 있는지 확인하십시오.

자동 마이그레이션 (배포 된 사이트에서 나쁜 아이디어 인 경우)을 사용하는 경우

에도 필요합니다.

다른 팁

이러한 마이그레이션 스크립트를 실행하려면 Azure WebJobs를 사용하는 것이 좋습니다. http://www.hanselman.com/blog/introducingwindowsazurewebjobs.aspx

Azure WebJobs는 .bat, .exe 등과 같은 스크립트를 실행하기위한 스케줄러입니다. 기본적으로 UNIX 시스템에서 Cron처럼 작동하지만 직관적이고 사용하기 쉬운 UI를 제공합니다.따라서 @romoku의 경우 콘솔 앱을 만들 수 있습니다.이는 EF 6.0 및 그 모든 .NET이 마이그레이션을 예약하고 OpeAtions의 로그를 추적하는 것입니다.웹 사이트가 실행중인 동일한 기계 및 환경에서 작동합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top