のは、私は1つのコンテキスト公開サイトを破棄せずにデータベースモデルを更新するコードファーストEFのワークフローは何ですか?
public class DataContext : DbContext
{
public DbSet<Stuff> Stuff { get; set; }
}
と一つのモデル
public class Stuff
{
public int ID {get;set; }
public string Name {get;set;}
}
そして私は、コード最初のEFモデルを使用していて、簡単なサイトがあるとしましょう、と私は更新データベースをヒットし、それが作成されます私の私のサイトを公開しています。すべてが素晴らしいです。しかし、その後、私は私のモデル
public class Stuff
{
public int ID {get;set; }
public string Name {get;set;}
public int StuffType {get;set;}
}
をにプロパティを追加したいそして今、私は更新データベースをヒットし、それが今、そのモデルので、壊れている新しいプロパティ、しかし公開されたサイトでデータベースを更新決めますデータベースモデルと古くなっています。
必死に誰もが気づく前に、サイトを再発行しようとしている以外、公開されたサイトを壊すことなく、コード-最初の移行と他の方法の仕事はありますか?
2つのデータベースが必要ですか?もしそうなら、私はどのように2つの間でモデルを維持するのですか?これは、私が通常(少なくとも)2つのgitブランチを持っていて、公開されているサイトがマスターブランチからコードを実行していて、私が開発ブランチに取り組んでいるという事実によってさらに複雑になります。モデル。
これらの問題を回避するための通常のワークフローは何ですか?
まあを参照してください、ええ、あなたは一般的に少なくとも2つのデータベース(DEV及びPROD)します。すべてのDEVが動作したら、公開を行い、移行生成スクリプトを使用してデータベースを更新するか、ビルドサーバーまたはAzureで実行するか、アプリケーションの起動時にビルドさせます。 http://cpratt.co/migrating-production-database-with-entity-framework-code-first/ –