13

データベーススキーマに関しては、バージョン管理が少し問題になることが常にあります。

だから - 私は現在 Entity Framework Code First Migrations を評価していますが、これまでのところ本当に感銘を受けています。

私の質問は、DVCS を使用してチームで移行を使用した経験がある人はいますか?

異なるブランチで作業している開発者がそれぞれ独自の移行を作成する場合、「Update-Database」ツールはブランチがマージされたときにそれをうまく処理できますか?

新しい移行がリストの中央に表示される可能性があると思います。これはピックアップされますか、それとも最後にデプロイされたものよりも「新しい」移行を探すだけですか?

チームが競合するスキーマの変更を作成しないように注意する必要があることを感謝します - これは私たちが管理できることです - しかし、「Update-Database」が「不足している」移行を見つけるのに十分賢いかどうかを知ることは役に立ちますか?

ありがとう - クリス

4

3 に答える 3

1

このトピックに関する 1 つのブログ投稿によると、VCS ツールに関係なく、並行開発は EF でのデータベース移行の現状に問題があるようです。データベースの状態を追跡する方法が原因で、シナリオを処理する方法がないようです。Pawel は、この問題を表示するために GitHub でサンプル プロジェクトを提供しています。

実際には、独立したツールを使用してデータベースの移行を処理する方がはるかに優れている場合があります. 私はMigrator.NETを使用して大きな成功を収めており、開発者のスキーマ変更を並行して適切に処理しています。また、データベースの「バージョン」を追跡する比較的ローテクな方法を使用します。これは、移行クラス以外で誰もデータベースに触れない日をあなたとあなたのチームが決定する限り、驚くほどうまく機能します (私たちはその日を呼び出しました)。データベースの v1)。

于 2012-09-26T01:13:33.583 に答える
1

この記事の解決策が役立つ場合があります。他の開発者からの変更を無視する空の移行を作成するという追加の手順を実行します。これにより、スナップショットがデータベースと同期するように更新されます。

http://msdn.microsoft.com/en-us/data/dn481501.aspx

于 2014-08-08T15:24:55.923 に答える
0

私はそれがうまくいくとは思わないし、それを回避する方法はないと思う.

詳細については、このブログ投稿を参照してください。

別のツールを使用して移行を管理することをお勧めします。

于 2012-09-26T01:18:10.420 に答える