2011-08-16 12 views
2

ビルドサーバーとDev Serverで全く同じバイナリに対していくつかの単体テストを実行しています。私のテストの中にはDBに書き込むものがあるので、必要に応じてチェックインすると、DBはEFによって再構築されます。これは数ヶ月にわたって素晴らしい仕事をしてきました。今日、私たちはDevでAppを起動すると、EFは再びデータベースを再構築しようとしていることに気付きました。私はいくつかの調査の後、ビルドボックスでのDBの破棄と再ビルドが1つのハッシュでDBを作成しており、DBサーバーからの再ビルドが別の(異なる)ハッシュでDBを作成していることを認識しました。EF 4.1:ビルドサーバーVS Dev Serverで実行中のModelHashesが異なる

両方の環境が同じデータベースに対して実行されています。私のビルド・サーバーも2つのストアド・プロシージャをデプロイするという点を除いて、大きな違いはありません。 Devサーバーが起動してデータベースを削除すると、これらのストアドプロシージャーが壊れてしまいます。

しかし、私は明らかにEdmMetadataテーブルのModelHashに何が影響するか理解していないので、ここではより広い問題があります。私はそれが実際のバイナリに基づいていると思ったが、それ以上のものでなければならない。私は両方のマシンで全く同じバイナリを実行しています。

異なるenviornmentsは、データベースを作成すると、これらはそのModelHashです:

BuildBox: 3E..FA 
Local: 3E..FA 
Dev:  99..58 

注意私のローカルマシンとビルドボックスが一致しています。これは完全に反復可能です。誰がここで何が起こっているかも知っていますか?

ありがとうございました

答えて

1

2つの環境でEFのバージョンが少し異なりました。私のビルドボックスは、プレリリース版を使用していました。 DevはRTFを使用していました。両方ともEF 4.1であったにもかかわらず、異なるビルドであり、異なるModelHashコードを生成しました。

すべての環境でRTFをインストールしましたが、今ではすべて同じモデルハッシュを生成しています。

関連する問題