EFプロジェクトでは、AutomaticMigrationsEnabledを設定するためのベストプラクティスはありますか?
より多くの宣言:
モデルを変更した後、チームでは通常、パッケージマネージャーコンソールで「add-migration」および「update-databse」コマンドを実行します。他の開発者がプロジェクトを実行すると、このエラーが発生します。
「データベースは使用中のため削除できません」
これが起こるたびに、最初の修飾子はCheck In
プロジェクト全体と他のユーザーがGET
変更されたオブジェクトを使用する必要があります。多くの場合、すでに作成されたモデルと移行をチェックインしたくないです!
この状況は迷惑ですが、この種の問題の解決策はありますか。前もって感謝します。
自動移行はすべての魔法を行いますが、厳密なバージョン管理は許可されません(各バージョンに特別な固定移行はありません)。厳密なバージョン管理がないと、データベースのバージョンを追跡できず、明示的なアップグレードを実行できません(ダウングレードをまったく実行できません)。
データベースのバージョンを知る必要がある場合にバージョン管理を使用する予定がない場合、およびダウングレードを使用する予定がない場合は、単純に自動移行を使用できます。
「データベースは使用中のため削除できません」
共有データベース=ショーストッパーで作業しているようです。各開発者は、独自のデータベースを使用する必要があります。
既に作成されたモデルと移行をチェックアウトしたくない!
これはベストプラクティスであり、コードベースの移行を続行する場合は、それに従う必要があります。ところで「継続的インテグレーション」と呼ばれるプラクティスがあります-継続的インテグレーションでは、コミットが正常にビルドされテストに合格した直後にgetを実行する必要があります。
From: http://msdn.Microsoft.com/en-us/data/jj554735.aspx
チーム環境の推奨事項
自動およびコードベースの移行を散在させることができますが、これはチーム開発シナリオでは推奨されません。ソース管理を使用する開発者チームの一部である場合は、純粋に自動の移行または純粋にコードベースの移行を使用する必要があります。自動移行の制限を考えると、チーム環境でコードベースの移行を使用することをお勧めします。