34

EFプロジェクトで、 AutomaticMigrationsEnabledを設定するためのベストプラクティスはありますか?

その他の宣言:

私たちのチームでは、モデルを変更した後、通常、パッケージマネージャーコンソールで「add-migration」コマンドと「update-databse」コマンドを実行します。このエラーは、他の開発者がプロ​​ジェクトを実行するときに発生します。

「使用中のためデータベースを削除できません」

これが発生するたびに、最初のモディファイヤCheck Inはプロジェクト全体を変更し、他のモディファイアはGETオブジェクトを変更する必要があります。多くの場合、作成済みのモデルと移行をチェックインしたくありません。

この状況は厄介です、この種の問題の解決策はありますか?前もって感謝します。

4

2 に答える 2

47

自動移行はすべての魔法を実行しますが、厳密なバージョン管理は許可されません(バージョンごとに特別な固定移行はありません)。厳密なバージョン管理がないと、データベースのバージョンを追跡できず、明示的なアップグレードを実行できません(ダウングレードはまったく実行できません)。

データベースのバージョンを知る必要があるバージョン管理を使用する予定がない場合、およびダウングレードを使用する予定がない場合は、自動移行を使用できます。

「使用中のためデータベースを削除できません」

共有データベース=showstopperで作業しているようです。各開発者は、独自のデータベースを使用する必要があります。

ただし、すでに作成されているモデルと移行をチェックアウトしたくありません。

これはベストプラクティスであり、コードベースの移行を続行する場合は、それに従う必要があります。ところで。「継続的インテグレーション」と呼ばれる手法があります。継続的インテグレーションでは、コミットが正常にビルドされ、テストに合格した直後に取得する必要があります。

于 2012-08-05T09:07:56.680 に答える
14

差出人:http ://msdn.microsoft.com/en-us/data/jj554735.aspx

チーム環境に関する推奨事項

自動移行とコードベースの移行を散在させることができますが、これはチーム開発シナリオでは推奨されません。ソース管理を使用する開発者チームの一員である場合は、純粋な自動移行または純粋なコードベースの移行のいずれかを使用する必要があります。自動移行の制限を考えると、チーム環境ではコードベースの移行を使用することをお勧めします。

于 2013-06-14T16:51:54.040 に答える