2017-03-16 2 views
2

나는 탄성 beanstalk 게시와 함께 내 웹 API 프로젝트를 AWS로 푸시합니다. 데모 환경에서 사용하고 싶습니다.웹 API 2 - 환경을 다시 만드는 방법 응용 프로그램 시작

public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 
{ 

    public ApplicationDbContext() 
    : base(Helpers.GetRDSConnectionString(), throwIfV1Schema: false) 
    { 
     // THIS DEPLOY IS USED TO DELETE THE CURRENT DATABASE 
     //SqlConnection.ClearAllPools(); 
     //Database.SetInitializer<ApplicationDbContext>(new 
     DropCreateDatabaseAlways<ApplicationDbContext>()); 

     // THIS DEPLOY IS USED TO SEED THE DATABASE 
     System.Data.Entity.Database.SetInitializer(new 
     MigrateDatabaseToLatestVersion<ApplicationDbContext, Configuration>()); 
    } 

그러나 데이터베이스는 응용 프로그램 풀을 다시 깰 때마다 자신을 배정하려고 :

현재, 나는 두 개의 별도의 전개함에에서 그것을 할 그것을 설정을 가지고있다. 이 어딘가 app.start 어디 에서이 논리를 넣을 수 있도록 응용 프로그램이 처음 배포 될 때 데이터베이스를 다시 만들려고했습니다.

답변

1

예 응용 프로그램의 수명주기 중에 한 번만 호출되는 Application_Start을 사용할 수 있습니다.

protected void Application_Start() 
{ 
    Database.SetInitializer<SomeContext>(new DropCreateDatabaseIfModelChanges()); 
} 

DropCreateDatabaseIfModelChanges

관련 문제