2017-03-16 7 views
2

私は弾力のあるbeanstalkを公開して私のWeb APIプロジェクトをAWSにプッシュしています。私はこれをデモ環境に使用したいと思います。Web 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>()); 
    } 

ただし、データベースがアプリケーションプールが再び目を覚ますたび自体をシードしようとします:

現在、私は2つの別々のが展開でそれを行うには、それを設定しています。 app.startのどこかで、このロジックを置くことができるので、最初にアプリケーションをデプロイするときにデータベースを再作成しようとしました。

答えて

1

はい、Application_Startを使用できます。これはアプリケーションのライフサイクル中に1回だけ呼び出されます。

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

DropCreateDatabaseIfModelChanges

関連する問題